跳到主要内容

LangChain 代码节点#

使用 LangChain 代码节点可导入 LangChain。这意味着即使 n8n 尚未为某些功能创建专用节点,您仍可通过此节点实现。通过配置 LangChain 代码节点的连接器,可将其用作常规节点、根节点或子节点。

本页将介绍节点参数、节点配置指南及相关资源链接。

云版本不可用

此节点仅适用于自托管版 n8n。

节点参数#

添加代码#

添加自定义代码。选择执行提供数据模式,两种模式不能同时使用。

代码节点不同,LangChain 代码节点不支持 Python。

  • 执行:将 LangChain 代码节点作为 n8n 原生代码节点使用。该模式从工作流接收输入数据,处理后将结果作为节点输出。此模式需配置主输入和输出连接,必须在输入输出中创建对应连接。
  • 提供数据:将 LangChain 代码节点作为子节点使用,向根节点发送数据。此模式需使用主输出之外的其他输出类型。

默认情况下,此节点无法加载内置或外部模块。自托管用户可启用内置和外部模块

输入#

选择输入类型。

主输入是所有 n8n 工作流中的标准连接器。若节点中设置了主输入和输出,则必须编写执行代码。

输出#

选择输出类型。

主输出是所有 n8n 工作流中的标准连接器。若节点中设置了主输入和输出,则必须编写执行代码。

节点输入输出配置#

通过配置 LangChain 代码节点的连接器(输入和输出),可将其用作应用节点、根节点或子节点。

包含四个 LangChain 节点的工作流截图,分别配置为不同节点类型

节点类型输入输出代码模式
应用节点(类似代码节点主输入主输出执行
根节点主输入 + 至少一个其他类型主输出执行
子节点-非主输出类型(需与目标输入类型匹配)提供数据
带子节点的子节点非主输入类型非主输出类型(需与目标输入类型匹配)提供数据

内置方法#

n8n 提供以下方法以简化 LangChain 代码节点中的常见操作:

方法说明
this.addInputData(inputName, data)向指定非主输入填充数据,适用于模拟数据场景。
* inputName 为输入连接类型,可选值:ai_agent, ai_chain, ai_document, ai_embedding, ai_languageModel, ai_memory, ai_outputParser, ai_retriever, ai_textSplitter, ai_tool, ai_vectorRetriever, ai_vectorStore
* data 为待添加数据,具体数据结构请参阅数据结构文档
this.addOutputData(outputName, data)向指定非主输出填充数据,适用于模拟数据场景。
* outputName 为输出连接类型,可选值:ai_agent, ai_chain, ai_document, ai_embedding, ai_languageModel, ai_memory, ai_outputParser, ai_retriever, ai_textSplitter, ai_tool, ai_vectorRetriever, ai_vectorStore
* data 为待添加数据,具体数据结构请参阅数据结构文档
this.getInputConnectionData(inputName, itemIndex, inputIndex?)从指定非主输入获取数据。
* inputName 为输入连接类型,可选值:ai_agent, ai_chain, ai_document, ai_embedding, ai_languageModel, ai_memory, ai_outputParser, ai_retriever, ai_textSplitter, ai_tool, ai_vectorRetriever, ai_vectorStore
* itemIndex 固定为 0(该参数将用于未来功能)
* 当指定输入连接多个节点时使用 inputIndex
this.getInputData(inputIndex?, inputName?)从主输入获取数据
this.getNode()获取当前节点实例
this.getNodeOutputs()获取当前节点的输出配置
this.getExecutionCancelSignal()用于在工作流停止时终止函数执行。多数情况下 n8n 会自动处理,但在构建自定义链或代理时可能需要使用。该方法可替代常规 LangChain 应用开发中的取消运行中的 LLMChain 代码

模板与示例#

🤖 基于 AI 的文档 + Google Drive + Gemini + Qdrant RAG 聊天机器人

作者:Joseph LePage

查看模板详情

JavaScript 编写的自定义 LangChain 代理

作者:n8n 团队

查看模板详情

在 n8n 中使用任意 LangChain 模块(通过 LangChain 代码节点)

作者:David Roberts

查看模板详情

浏览 LangChain 代码集成模板搜索所有模板

相关资源#

查看 n8n 高级 AI 文档