UNPKG

@n8n/n8n-nodes-langchain

Version:
77 lines (70 loc) 2.49 kB
/** * Basic LLM Chain Node - Version 1 * A simple chain to prompt a large language model */ export interface LcChainLlmV1Params { /** * Prompt * @default ={{ $json.input }} */ prompt?: string | Expression<string>; /** * Prompt (User Message) * @builderHint Use expressions to include dynamic data from previous nodes (e.g., expr('{{ $json.input }}')). Static text prompts ignore incoming data. * @displayOptions.show { promptType: ["define"] } */ text: string | Expression<string>; 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>; /** URL to the image to be processed * @displayOptions.show { messageType: ["imageUrl"] } */ imageUrl?: string | Expression<string>; /** 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>; }>; }; } export type LcChainLlmV1Output = { text: string; }; export interface LcChainLlmV1SubnodeConfig { model: LanguageModelInstance | LanguageModelInstance[]; /** * @displayOptions.show { hasOutputParser: [true] } */ outputParser?: OutputParserInstance; } interface LcChainLlmV1NodeBase { type: '@n8n/n8n-nodes-langchain.chainLlm'; version: 1; isTrigger: true; } export type LcChainLlmV1ParamsNode = LcChainLlmV1NodeBase & { config: NodeConfig<LcChainLlmV1Params> & { subnodes: LcChainLlmV1SubnodeConfig }; output?: Items<LcChainLlmV1Output>; }; export type LcChainLlmV1Node = LcChainLlmV1ParamsNode;