跳到主要内容

LangChain Code(LangChain 代码)

使用 LangChain Code 节点导入 LangChain。如果 n8n 尚未为你需要的功能提供节点,仍可通过此方式使用该功能。配置 LangChain Code 节点的连接器后,可将其用作普通节点、根节点或子节点。

本页列出了节点参数、节点配置指南,并提供更多资源的链接。

注意

功能可用性

LangChain Code 节点存在严重安全问题,使用不安全。它从 n8n 2.35.0 起弃用,并从节点面板中隐藏。请避免在工作流中使用此节点。

信息

Cloud 不提供此节点

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

节点参数 ​

Add Code(添加代码) ​

添加自定义代码,选择 Execute(执行)或 Supply Data(提供数据)模式,只能使用其中一种。

与 Code 节点不同,LangChain Code 节点不支持 Python。

  • Execute(执行):像使用 n8n 自带的 Code 节点一样使用 LangChain Code 节点。它从工作流接收输入数据,处理后作为节点输出返回。此模式需要主输入和主输出,必须在 Inputs(输入)和 Outputs(输出)中创建这些连接。
  • Supply Data(提供数据):将 LangChain Code 节点用作子节点,向根节点发送数据,使用主输出以外的输出。

默认情况下,不能在此节点中加载内置或外部模块。自托管用户可以启用内置和外部模块。

Inputs(输入) ​

选择输入类型。

主输入是所有 n8n 工作流中常见的普通连接器。如果节点设置了主输入和主输出,则必须提供 Execute(执行)代码。

Outputs(输出) ​

选择输出类型。

主输出是所有 n8n 工作流中常见的普通连接器。如果节点设置了主输入和主输出,则必须提供 Execute(执行)代码。

节点输入与输出配置 ​

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

同一工作流中的四个 LangChain Code 节点,分别配置为应用节点、根节点、子节点及带子节点的子节点

节点类型输入输出代码模式
应用节点,类似 Code 节点。Main(主输入)Main(主输出)Execute(执行)
根节点Main(主输入);至少一种其他类型Main(主输出)Execute(执行)
子节点-主输出以外的类型,必须与要连接的输入类型匹配。Supply Data(提供数据)
带子节点的子节点主输入以外的类型主输出以外的类型,必须与要连接的输入类型匹配。Supply Data(提供数据)

内置方法 ​

n8n 提供以下方法,方便在 LangChain Code 节点中执行常见任务。

方法说明
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 包含要添加的数据。n8n 要求的数据结构见数据结构。
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 包含要添加的数据。n8n 要求的数据结构见数据结构。
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 Code(LangChain 代码) 集成模板,或搜索所有模板

相关资源 ​

查看 n8n 的高级 AI 文档。

本文为社区中文翻译。查看对应英文原文