From de01a8a01d37f33ab8bcbc65588cafebda969922 Mon Sep 17 00:00:00 2001 From: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Date: Mon, 18 Nov 2024 15:53:07 +0100 Subject: [PATCH] feat(Embeddings OpenAI Node, Embeddings Azure OpenAI Node): Add dimensions option (#11773) --- .../EmbeddingsAzureOpenAi.node.ts | 31 +++++++++++++++++++ .../EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.ts b/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.ts index a75a93c9f4..8c178543fc 100644 --- a/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.ts +++ b/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.ts @@ -87,6 +87,36 @@ export class EmbeddingsAzureOpenAi implements INodeType { 'Maximum amount of time a request is allowed to take in seconds. Set to -1 for no timeout.', type: 'number', }, + { + displayName: 'Dimensions', + name: 'dimensions', + default: undefined, + description: + 'The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.', + type: 'options', + options: [ + { + name: '256', + value: 256, + }, + { + name: '512', + value: 512, + }, + { + name: '1024', + value: 1024, + }, + { + name: '1536', + value: 1536, + }, + { + name: '3072', + value: 3072, + }, + ], + }, ], }, ], @@ -105,6 +135,7 @@ export class EmbeddingsAzureOpenAi implements INodeType { batchSize?: number; stripNewLines?: boolean; timeout?: number; + dimensions?: number | undefined; }; if (options.timeout === -1) { diff --git a/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts b/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts index 167581ed2e..aececc09ae 100644 --- a/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts +++ b/packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts @@ -135,6 +135,36 @@ export class EmbeddingsOpenAi implements INodeType { type: 'collection', default: {}, options: [ + { + displayName: 'Dimensions', + name: 'dimensions', + default: undefined, + description: + 'The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.', + type: 'options', + options: [ + { + name: '256', + value: 256, + }, + { + name: '512', + value: 512, + }, + { + name: '1024', + value: 1024, + }, + { + name: '1536', + value: 1536, + }, + { + name: '3072', + value: 3072, + }, + ], + }, { displayName: 'Base URL', name: 'baseURL', @@ -179,6 +209,7 @@ export class EmbeddingsOpenAi implements INodeType { batchSize?: number; stripNewLines?: boolean; timeout?: number; + dimensions?: number | undefined; }; if (options.timeout === -1) {