mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
feat: Add support for Ollama embeddings API (#8732)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
committed by
GitHub
parent
2c172e9fb3
commit
15490ad1d4
@@ -0,0 +1,61 @@
|
|||||||
|
/* eslint-disable n8n-nodes-base/node-dirname-against-convention */
|
||||||
|
import {
|
||||||
|
NodeConnectionType,
|
||||||
|
type IExecuteFunctions,
|
||||||
|
type INodeType,
|
||||||
|
type INodeTypeDescription,
|
||||||
|
type SupplyData,
|
||||||
|
} from 'n8n-workflow';
|
||||||
|
import { OllamaEmbeddings } from 'langchain/embeddings/ollama';
|
||||||
|
import { logWrapper } from '../../../utils/logWrapper';
|
||||||
|
import { getConnectionHintNoticeField } from '../../../utils/sharedFields';
|
||||||
|
import { ollamaDescription, ollamaModel } from '../../llms/LMOllama/description';
|
||||||
|
|
||||||
|
export class EmbeddingsOllama implements INodeType {
|
||||||
|
description: INodeTypeDescription = {
|
||||||
|
displayName: 'Embeddings Ollama',
|
||||||
|
name: 'embeddingsOllama',
|
||||||
|
icon: 'file:ollama.svg',
|
||||||
|
group: ['transform'],
|
||||||
|
version: 1,
|
||||||
|
description: 'Use Ollama Embeddings',
|
||||||
|
defaults: {
|
||||||
|
name: 'Embeddings Ollama',
|
||||||
|
},
|
||||||
|
...ollamaDescription,
|
||||||
|
codex: {
|
||||||
|
categories: ['AI'],
|
||||||
|
subcategories: {
|
||||||
|
AI: ['Embeddings'],
|
||||||
|
},
|
||||||
|
resources: {
|
||||||
|
primaryDocumentation: [
|
||||||
|
{
|
||||||
|
url: 'https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama/',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// eslint-disable-next-line n8n-nodes-base/node-class-description-inputs-wrong-regular-node
|
||||||
|
inputs: [],
|
||||||
|
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
||||||
|
outputs: [NodeConnectionType.AiEmbedding],
|
||||||
|
outputNames: ['Embeddings'],
|
||||||
|
properties: [getConnectionHintNoticeField([NodeConnectionType.AiVectorStore]), ollamaModel],
|
||||||
|
};
|
||||||
|
|
||||||
|
async supplyData(this: IExecuteFunctions, itemIndex: number): Promise<SupplyData> {
|
||||||
|
this.logger.verbose('Supply data for embeddings Ollama');
|
||||||
|
const modelName = this.getNodeParameter('model', itemIndex) as string;
|
||||||
|
const credentials = await this.getCredentials('ollamaApi');
|
||||||
|
|
||||||
|
const embeddings = new OllamaEmbeddings({
|
||||||
|
baseUrl: credentials.baseUrl as string,
|
||||||
|
model: modelName,
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
response: logWrapper(embeddings, this),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="241.333" height="341.333" version="1.0" viewBox="0 0 181 256"><g fill="#7D7D87"><path d="M37.7 19.5c-5.2 1.8-8.3 4.9-11.7 11.6-4.5 8.9-6.2 19.2-5.8 35.5l.3 14.2-5.8 6.1c-14.8 15.5-18.5 38.7-9.2 57.4l3.4 6.9-2 4.4c-3.4 8.2-5 16.4-5 26.3 0 10.8 1.8 19 5.8 26.2l2.6 4.8-2.1 4.9c-1.2 2.7-2.6 7.1-3.2 9.8-1.4 6.2-1.5 22.1-.1 25.7 1 2.6 1.4 2.7 7.6 2.7 7.3 0 7 .4 5.3-8.6-1.5-8.2.2-18.8 4.2-26.6 3.7-7 3.8-10.4.5-14.8-4.7-6.4-6.8-13.6-6.9-24-.1-10.3 1.4-16 6.6-26.1 3.1-6.1 2.9-8.7-1-12.2-1.1-1-3.1-4.2-4.3-7-1.9-4.2-2.4-6.9-2.3-14.2 0-11.4 2.5-18.3 9.5-26 7-7.6 14.2-11 23.9-11.2 4.1 0 7.8-.2 8.2-.2.4-.1 1.7-2.2 2.9-4.7 3-5.9 9.6-11.9 16.7-15.2 4.9-2.3 7-2.7 14.7-2.7 7.9 0 9.7.4 14.9 2.9 6.8 3.3 13.3 9.4 15.9 14.8 1 2 2.3 4.1 3 4.5.6.4 4.6.8 8.7.8 6.7.1 8.3.5 14 3.6 12.3 6.8 19.3 18.7 19.3 33.4.1 6.7-.4 9-2.7 14.2-1.6 3.5-3.5 6.8-4.3 7.5-3.4 2.8-3.5 5.8-.5 11.7 5.2 10.1 6.7 15.8 6.6 26.1-.1 10.4-2.2 17.6-6.9 24-3.3 4.4-3.2 7.8.5 14.8 4 7.8 5.7 18.4 4.2 26.6-1.7 9-2 8.6 5.3 8.6 6.2 0 6.6-.1 7.6-2.7 1.4-3.6 1.3-19.5-.1-25.7-.6-2.7-2-7.1-3.2-9.8l-2.1-4.9 2.6-4.8c7.6-13.9 7.9-35.9.6-52.8l-2-4.7 2.5-4.6c9.9-18.3 6.4-43.9-8.1-59.1l-5.8-6.1.3-14.2c.4-16.4-1.3-26.6-5.8-35.7-6.4-12.6-17.2-15.9-26.3-7.9-5.4 4.7-9.2 13.8-12.3 29.8-.3 1.4-1 2.2-1.7 1.8-18.2-8-29.7-8.5-44.3-2.1L65 54.9l-.4-2.2C61 34.2 56.1 24.2 49 20.5c-4.3-2.1-7.4-2.4-11.3-1m7.7 16.8c4.2 7.1 8.1 30.1 5.7 33.6-.5.8-3.1 1.6-5.8 1.8-2.6.2-6.2.8-8 1.3l-3.1.8-.7-4.9c-.8-5.9.2-17.2 2.2-24.8C37.1 38.4 40.5 32 42 32c.5 0 2 1.9 3.4 4.3m96.5-1c4 6.5 6.9 23.9 5.6 33.6l-.7 4.9-3.1-.8c-1.8-.5-5.4-1.1-8-1.3-2.7-.2-5.3-1-5.8-1.8-1.2-1.7-.3-14.1 1.7-22.9 1.5-6.4 5.7-15 7.4-15 .4 0 1.8 1.5 2.9 3.3"/><path d="M77.8 119.9c-7.3 2.4-11.6 5.1-16.5 10.4-5.5 6-7.6 12-7.1 20.1.5 7.6 3.5 12.9 10.6 18.3 6.2 4.7 12.7 6.3 25.7 6.3 17.2 0 25.8-3.6 32.9-13.8 4.2-5.9 4.8-15.5 1.6-23-2.9-6.8-11.1-14.3-18.8-17.3-8-3.1-20.7-3.6-28.4-1m25.7 10c16.1 7.1 19.4 23.2 6.6 31.8-4.9 3.3-9.4 4.3-19.6 4.3s-14.7-1-19.6-4.3c-17.8-12-3.2-35.6 21.1-34.3 3.9.2 8.6 1.2 11.5 2.5"/><path d="M83.8 140.1c-2.5 1.4-2.2 4.4.7 6.7 2 1.6 2.4 2.6 1.9 4.9-.7 3.6 1.5 5.8 5.1 4.9 2.1-.5 2.5-1.2 2.5-4.6 0-2.9.5-4.2 2-5 2.7-1.5 2.7-6.6 0-7.5-1-.3-2.8-.1-4 .5-1.4.7-2.6.8-3.9 0-2.3-1.2-2.2-1.2-4.3.1m-44.1-18.9c-.9.7-2.3 3-3.2 5-2.1 5.3-.1 10.3 4.7 11.6 4.3 1.1 6 .6 9.2-2.7 4-4.1 4.3-8.1 1.1-11.9-2.1-2.5-3.4-3.2-6.4-3.2-2 0-4.5.6-5.4 1.2m89.8 2c-3.2 3.8-2.9 7.8 1.1 11.9 3.2 3.3 4.9 3.8 9.2 2.7 4.9-1.3 6.8-6.2 4.6-11.8-1.9-4.7-3.8-6-8.7-6-2.7 0-4.1.7-6.2 3.2"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -11,6 +11,7 @@ import { ChatOllama } from 'langchain/chat_models/ollama';
|
|||||||
// import { ChatAnthropic } from 'langchain/chat_models/anthropic';
|
// import { ChatAnthropic } from 'langchain/chat_models/anthropic';
|
||||||
import { logWrapper } from '../../../utils/logWrapper';
|
import { logWrapper } from '../../../utils/logWrapper';
|
||||||
import { getConnectionHintNoticeField } from '../../../utils/sharedFields';
|
import { getConnectionHintNoticeField } from '../../../utils/sharedFields';
|
||||||
|
import { ollamaModel, ollamaOptions, ollamaDescription } from '../LMOllama/description';
|
||||||
|
|
||||||
export class LmChatOllama implements INodeType {
|
export class LmChatOllama implements INodeType {
|
||||||
description: INodeTypeDescription = {
|
description: INodeTypeDescription = {
|
||||||
@@ -42,103 +43,11 @@ export class LmChatOllama implements INodeType {
|
|||||||
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
||||||
outputs: [NodeConnectionType.AiLanguageModel],
|
outputs: [NodeConnectionType.AiLanguageModel],
|
||||||
outputNames: ['Model'],
|
outputNames: ['Model'],
|
||||||
credentials: [
|
...ollamaDescription,
|
||||||
{
|
|
||||||
name: 'ollamaApi',
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
requestDefaults: {
|
|
||||||
ignoreHttpStatusErrors: true,
|
|
||||||
baseURL: '={{ $credentials.baseUrl.replace(new RegExp("/$"), "") }}',
|
|
||||||
},
|
|
||||||
properties: [
|
properties: [
|
||||||
getConnectionHintNoticeField([NodeConnectionType.AiChain, NodeConnectionType.AiAgent]),
|
getConnectionHintNoticeField([NodeConnectionType.AiChain, NodeConnectionType.AiAgent]),
|
||||||
{
|
ollamaModel,
|
||||||
displayName: 'Model',
|
ollamaOptions,
|
||||||
name: 'model',
|
|
||||||
type: 'options',
|
|
||||||
default: 'llama2',
|
|
||||||
description:
|
|
||||||
'The model which will generate the completion. To download models, visit <a href="https://ollama.ai/library">Ollama Models Library</a>.',
|
|
||||||
typeOptions: {
|
|
||||||
loadOptions: {
|
|
||||||
routing: {
|
|
||||||
request: {
|
|
||||||
method: 'GET',
|
|
||||||
url: '/api/tags',
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
postReceive: [
|
|
||||||
{
|
|
||||||
type: 'rootProperty',
|
|
||||||
properties: {
|
|
||||||
property: 'models',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'setKeyValue',
|
|
||||||
properties: {
|
|
||||||
name: '={{$responseItem.name}}',
|
|
||||||
value: '={{$responseItem.name}}',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'sort',
|
|
||||||
properties: {
|
|
||||||
key: 'name',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
routing: {
|
|
||||||
send: {
|
|
||||||
type: 'body',
|
|
||||||
property: 'model',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Options',
|
|
||||||
name: 'options',
|
|
||||||
placeholder: 'Add Option',
|
|
||||||
description: 'Additional options to add',
|
|
||||||
type: 'collection',
|
|
||||||
default: {},
|
|
||||||
options: [
|
|
||||||
{
|
|
||||||
displayName: 'Sampling Temperature',
|
|
||||||
name: 'temperature',
|
|
||||||
default: 0.7,
|
|
||||||
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Top K',
|
|
||||||
name: 'topK',
|
|
||||||
default: -1,
|
|
||||||
typeOptions: { maxValue: 1, minValue: -1, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Used to remove "long tail" low probability responses. Defaults to -1, which disables it.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Top P',
|
|
||||||
name: 'topP',
|
|
||||||
default: 1,
|
|
||||||
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import {
|
|||||||
import { Ollama } from 'langchain/llms/ollama';
|
import { Ollama } from 'langchain/llms/ollama';
|
||||||
import { logWrapper } from '../../../utils/logWrapper';
|
import { logWrapper } from '../../../utils/logWrapper';
|
||||||
import { getConnectionHintNoticeField } from '../../../utils/sharedFields';
|
import { getConnectionHintNoticeField } from '../../../utils/sharedFields';
|
||||||
|
import { ollamaDescription, ollamaModel, ollamaOptions } from './description';
|
||||||
|
|
||||||
export class LmOllama implements INodeType {
|
export class LmOllama implements INodeType {
|
||||||
description: INodeTypeDescription = {
|
description: INodeTypeDescription = {
|
||||||
@@ -41,103 +42,11 @@ export class LmOllama implements INodeType {
|
|||||||
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
||||||
outputs: [NodeConnectionType.AiLanguageModel],
|
outputs: [NodeConnectionType.AiLanguageModel],
|
||||||
outputNames: ['Model'],
|
outputNames: ['Model'],
|
||||||
credentials: [
|
...ollamaDescription,
|
||||||
{
|
|
||||||
name: 'ollamaApi',
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
requestDefaults: {
|
|
||||||
ignoreHttpStatusErrors: true,
|
|
||||||
baseURL: '={{ $credentials.baseUrl.replace(new RegExp("/$"), "") }}',
|
|
||||||
},
|
|
||||||
properties: [
|
properties: [
|
||||||
getConnectionHintNoticeField([NodeConnectionType.AiChain, NodeConnectionType.AiAgent]),
|
getConnectionHintNoticeField([NodeConnectionType.AiChain, NodeConnectionType.AiAgent]),
|
||||||
{
|
ollamaModel,
|
||||||
displayName: 'Model',
|
ollamaOptions,
|
||||||
name: 'model',
|
|
||||||
type: 'options',
|
|
||||||
default: 'llama2',
|
|
||||||
description:
|
|
||||||
'The model which will generate the completion. To download models, visit <a href="https://ollama.ai/library">Ollama Models Library</a>.',
|
|
||||||
typeOptions: {
|
|
||||||
loadOptions: {
|
|
||||||
routing: {
|
|
||||||
request: {
|
|
||||||
method: 'GET',
|
|
||||||
url: '/api/tags',
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
postReceive: [
|
|
||||||
{
|
|
||||||
type: 'rootProperty',
|
|
||||||
properties: {
|
|
||||||
property: 'models',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'setKeyValue',
|
|
||||||
properties: {
|
|
||||||
name: '={{$responseItem.name}}',
|
|
||||||
value: '={{$responseItem.name}}',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'sort',
|
|
||||||
properties: {
|
|
||||||
key: 'name',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
routing: {
|
|
||||||
send: {
|
|
||||||
type: 'body',
|
|
||||||
property: 'model',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Options',
|
|
||||||
name: 'options',
|
|
||||||
placeholder: 'Add Option',
|
|
||||||
description: 'Additional options to add',
|
|
||||||
type: 'collection',
|
|
||||||
default: {},
|
|
||||||
options: [
|
|
||||||
{
|
|
||||||
displayName: 'Sampling Temperature',
|
|
||||||
name: 'temperature',
|
|
||||||
default: 0.7,
|
|
||||||
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Top K',
|
|
||||||
name: 'topK',
|
|
||||||
default: -1,
|
|
||||||
typeOptions: { maxValue: 1, minValue: -1, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Used to remove "long tail" low probability responses. Defaults to -1, which disables it.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
displayName: 'Top P',
|
|
||||||
name: 'topP',
|
|
||||||
default: 1,
|
|
||||||
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
|
||||||
description:
|
|
||||||
'Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
101
packages/@n8n/nodes-langchain/nodes/llms/LMOllama/description.ts
Normal file
101
packages/@n8n/nodes-langchain/nodes/llms/LMOllama/description.ts
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
import type { INodeProperties, INodeTypeDescription } from 'n8n-workflow';
|
||||||
|
|
||||||
|
export const ollamaDescription: Partial<INodeTypeDescription> = {
|
||||||
|
credentials: [
|
||||||
|
{
|
||||||
|
name: 'ollamaApi',
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
requestDefaults: {
|
||||||
|
ignoreHttpStatusErrors: true,
|
||||||
|
baseURL: '={{ $credentials.baseUrl.replace(new RegExp("/$"), "") }}',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const ollamaModel: INodeProperties = {
|
||||||
|
displayName: 'Model',
|
||||||
|
name: 'model',
|
||||||
|
type: 'options',
|
||||||
|
default: 'llama2',
|
||||||
|
description:
|
||||||
|
'The model which will generate the completion. To download models, visit <a href="https://ollama.ai/library">Ollama Models Library</a>.',
|
||||||
|
typeOptions: {
|
||||||
|
loadOptions: {
|
||||||
|
routing: {
|
||||||
|
request: {
|
||||||
|
method: 'GET',
|
||||||
|
url: '/api/tags',
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
postReceive: [
|
||||||
|
{
|
||||||
|
type: 'rootProperty',
|
||||||
|
properties: {
|
||||||
|
property: 'models',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'setKeyValue',
|
||||||
|
properties: {
|
||||||
|
name: '={{$responseItem.name}}',
|
||||||
|
value: '={{$responseItem.name}}',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'sort',
|
||||||
|
properties: {
|
||||||
|
key: 'name',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
routing: {
|
||||||
|
send: {
|
||||||
|
type: 'body',
|
||||||
|
property: 'model',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const ollamaOptions: INodeProperties = {
|
||||||
|
displayName: 'Options',
|
||||||
|
name: 'options',
|
||||||
|
placeholder: 'Add Option',
|
||||||
|
description: 'Additional options to add',
|
||||||
|
type: 'collection',
|
||||||
|
default: {},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
displayName: 'Sampling Temperature',
|
||||||
|
name: 'temperature',
|
||||||
|
default: 0.7,
|
||||||
|
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
||||||
|
description:
|
||||||
|
'Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.',
|
||||||
|
type: 'number',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Top K',
|
||||||
|
name: 'topK',
|
||||||
|
default: -1,
|
||||||
|
typeOptions: { maxValue: 1, minValue: -1, numberPrecision: 1 },
|
||||||
|
description:
|
||||||
|
'Used to remove "long tail" low probability responses. Defaults to -1, which disables it.',
|
||||||
|
type: 'number',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Top P',
|
||||||
|
name: 'topP',
|
||||||
|
default: 1,
|
||||||
|
typeOptions: { maxValue: 1, minValue: 0, numberPrecision: 1 },
|
||||||
|
description:
|
||||||
|
'Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.',
|
||||||
|
type: 'number',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
@@ -62,6 +62,7 @@
|
|||||||
"dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js",
|
"dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js",
|
||||||
"dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js",
|
"dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js",
|
||||||
"dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js",
|
"dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js",
|
||||||
|
"dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js",
|
||||||
"dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js",
|
"dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js",
|
||||||
"dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js",
|
"dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js",
|
||||||
"dist/nodes/llms/LmGooglePalm/LmGooglePalm.node.js",
|
"dist/nodes/llms/LmGooglePalm/LmGooglePalm.node.js",
|
||||||
|
|||||||
Reference in New Issue
Block a user