Skip to content

Commit e9d3936

Browse files
committed
add encodingformat to openai embeddings
1 parent 8d13865 commit e9d3936

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

packages/components/nodes/embeddings/OpenAIEmbedding/OpenAIEmbedding.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,23 @@ class OpenAIEmbedding_Embeddings implements INode {
8181
type: 'number',
8282
optional: true,
8383
additionalParams: true
84+
},
85+
{
86+
label: 'Encoding Format',
87+
name: 'encodingFormat',
88+
type: 'options',
89+
options: [
90+
{
91+
label: 'float',
92+
name: 'float'
93+
},
94+
{
95+
label: 'base64',
96+
name: 'base64'
97+
}
98+
],
99+
optional: true,
100+
additionalParams: true
84101
}
85102
]
86103
}
@@ -100,6 +117,7 @@ class OpenAIEmbedding_Embeddings implements INode {
100117
const baseOptions = nodeData.inputs?.baseOptions
101118
const modelName = nodeData.inputs?.modelName as string
102119
const dimensions = nodeData.inputs?.dimensions as string
120+
const encodingFormat = nodeData.inputs?.encodingFormat as 'float' | 'base64' | undefined
103121

104122
if (nodeData.inputs?.credentialId) {
105123
nodeData.credential = nodeData.inputs?.credentialId
@@ -116,6 +134,7 @@ class OpenAIEmbedding_Embeddings implements INode {
116134
if (batchSize) obj.batchSize = parseInt(batchSize, 10)
117135
if (timeout) obj.timeout = parseInt(timeout, 10)
118136
if (dimensions) obj.dimensions = parseInt(dimensions, 10)
137+
if (encodingFormat) obj.encodingFormat = encodingFormat
119138

120139
let parsedBaseOptions: any | undefined = undefined
121140

packages/components/nodes/embeddings/OpenAIEmbeddingCustom/OpenAIEmbeddingCustom.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,23 @@ class OpenAIEmbeddingCustom_Embeddings implements INode {
7979
type: 'number',
8080
optional: true,
8181
additionalParams: true
82+
},
83+
{
84+
label: 'Encoding Format',
85+
name: 'encodingFormat',
86+
type: 'options',
87+
options: [
88+
{
89+
label: 'float',
90+
name: 'float'
91+
},
92+
{
93+
label: 'base64',
94+
name: 'base64'
95+
}
96+
],
97+
optional: true,
98+
additionalParams: true
8299
}
83100
]
84101
}
@@ -91,6 +108,7 @@ class OpenAIEmbeddingCustom_Embeddings implements INode {
91108
const modelName = nodeData.inputs?.modelName as string
92109
const dimensions = nodeData.inputs?.dimensions as string
93110
const baseOptions = nodeData.inputs?.baseOptions
111+
const encodingFormat = nodeData.inputs?.encodingFormat as 'float' | 'base64' | undefined
94112

95113
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
96114
const openAIApiKey = getCredentialParam('openAIApiKey', credentialData, nodeData)
@@ -104,6 +122,7 @@ class OpenAIEmbeddingCustom_Embeddings implements INode {
104122
if (timeout) obj.timeout = parseInt(timeout, 10)
105123
if (modelName) obj.modelName = modelName
106124
if (dimensions) obj.dimensions = parseInt(dimensions, 10)
125+
if (encodingFormat) obj.encodingFormat = encodingFormat
107126

108127
let parsedBaseOptions: any | undefined = undefined
109128
if (baseOptions) {

0 commit comments

Comments
 (0)