diff --git a/packages/nodes-base/nodes/OpenAi/ChatDescription.ts b/packages/nodes-base/nodes/OpenAi/ChatDescription.ts index 217bdc7e80..a627ed8457 100644 --- a/packages/nodes-base/nodes/OpenAi/ChatDescription.ts +++ b/packages/nodes-base/nodes/OpenAi/ChatDescription.ts @@ -1,4 +1,5 @@ import type { INodeExecutionData, INodeProperties } from 'n8n-workflow'; +import { chatBodyPresend } from './ChatFunctions'; export const chatOperations: INodeProperties[] = [ { @@ -114,7 +115,7 @@ const completeOperations: INodeProperties[] = [ send: { type: 'body', property: 'messages', - value: '={{ $parameter.prompt.messages }}', + preSend: [chatBodyPresend], }, }, }, diff --git a/packages/nodes-base/nodes/OpenAi/ChatFunctions.ts b/packages/nodes-base/nodes/OpenAi/ChatFunctions.ts new file mode 100644 index 0000000000..b87a4f9c8c --- /dev/null +++ b/packages/nodes-base/nodes/OpenAi/ChatFunctions.ts @@ -0,0 +1,14 @@ +import type { IDataObject, IExecuteSingleFunctions, IHttpRequestOptions } from 'n8n-workflow'; + +export async function chatBodyPresend( + this: IExecuteSingleFunctions, + requestOptions: IHttpRequestOptions, +): Promise { + const prompts = this.getNodeParameter('prompt', '{}') as IDataObject; + + requestOptions.body = Object.assign({}, requestOptions.body, { + messages: prompts.messages, + }); + + return requestOptions; +}