UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

96 lines (90 loc) 3.2 kB
/** * Basic LLM Chain Node - Version 1.9 * A simple chain to prompt a large language model */ export interface LcChainLlmV19Params { /** * Source for Prompt (User Message) * @builderHint Use 'auto' when following a chat trigger, 'define' when custom prompt needed * @default auto */ promptType?: 'auto' | 'define' | Expression<string>; /** * Prompt (User Message) * @builderHint Use expressions to include dynamic data from previous nodes (e.g., "={{ $json.input }}"). Static text prompts ignore incoming data. * @displayOptions.show { promptType: ["define"] } */ text: string | Expression<string> | PlaceholderValue; /** * Require Specific Output Format * @default false */ hasOutputParser?: boolean; /** * Enable Fallback Model * @default false */ needsFallback?: boolean; messages?: { /** Prompt */ messageValues?: Array<{ /** Type Name or ID * @default SystemMessagePromptTemplate */ type?: 'AIMessagePromptTemplate' | 'SystemMessagePromptTemplate' | 'HumanMessagePromptTemplate' | Expression<string>; /** Message Type * @displayOptions.show { type: ["HumanMessagePromptTemplate"] } * @default text */ messageType?: 'text' | 'imageBinary' | 'imageUrl' | Expression<string>; /** The name of the field in the chain's input that contains the binary image file to be processed * @displayOptions.show { messageType: ["imageBinary"] } * @default data */ binaryImageDataKey?: string | Expression<string> | PlaceholderValue; /** URL to the image to be processed * @displayOptions.show { messageType: ["imageUrl"] } */ imageUrl?: string | Expression<string> | PlaceholderValue; /** Control how the model processes the image and generates its textual understanding * @displayOptions.show { type: ["HumanMessagePromptTemplate"], messageType: ["imageBinary", "imageUrl"] } * @default auto */ imageDetail?: 'auto' | 'low' | 'high' | Expression<string>; /** Message * @displayOptions.hide { messageType: ["imageBinary", "imageUrl"] } */ message?: string | Expression<string> | PlaceholderValue; }>; }; /** * Batch processing options for rate limiting * @default {} */ batching?: { /** How many items to process in parallel. This is useful for rate limiting, but might impact the log output ordering. * @default 5 */ batchSize?: number | Expression<number>; /** Delay in milliseconds between batches. This is useful for rate limiting. * @default 0 */ delayBetweenBatches?: number | Expression<number>; }; } export interface LcChainLlmV19SubnodeConfig { model: LanguageModelInstance | LanguageModelInstance[]; /** * @displayOptions.show { hasOutputParser: [true] } */ outputParser?: OutputParserInstance; } interface LcChainLlmV19NodeBase { type: '@n8n/n8n-nodes-langchain.chainLlm'; version: 1.9; } export type LcChainLlmV19ParamsNode = LcChainLlmV19NodeBase & { config: NodeConfig<LcChainLlmV19Params> & { subnodes: LcChainLlmV19SubnodeConfig }; }; export type LcChainLlmV19Node = LcChainLlmV19ParamsNode;