N8N中文教程
高级 AI/LangChain_in_n8n

n8n 中的 LangChain 概念#

本页面解释了 LangChain 的概念和功能如何映射到 n8n 节点。 本页面列出了 n8n 中专注于 LangChain 的节点。你可以在与 LangChain 交互的工作流中使用任意 n8n 节点,以将 LangChain 与其他服务连接起来。LangChain 功能基于 n8n 的 集群节点(Cluster nodes) 实现。 n8n 实现了 LangChain JS 此功能是 n8n 对 LangChain JavaScript 框架 的实现。

触发节点(Trigger nodes)#

Chat Trigger

集群节点(Cluster nodes)#

集群节点(Cluster nodes) 是一组协同工作的节点,在 n8n 工作流中提供特定功能。你不是使用单个节点,而是使用一个 根节点(root node) 和一个或多个扩展该节点功能的 子节点(sub-nodes)。

包含一个根节点和两个子节点的工作流截图

根节点(Root nodes)#

每个集群都从一个 根节点(root node) 开始。

Chains(链)#

链(Chain) 是一系列大语言模型(LLM)及相关工具的组合,通过串联方式实现单个 LLM 无法完成的功能。

可用节点:

  • Basic LLM Chain(基础 LLM 链)
  • Retrieval Q&A Chain(检索问答链)
  • Summarization Chain(摘要链)
  • Sentiment Analysis(情感分析)
  • Text Classifier(文本分类器)

了解更多关于 LangChain 中的链式调用(chaining)。

代理(Agents)#

一个 代理(agent) 可以访问一组工具,并根据用户输入决定使用哪些工具。代理可以使用多个工具,并将一个工具的输出作为下一个工具的输入。来源 可用节点:

  • 代理(Agent)

了解更多关于 LangChain 中的代理(Agents)。

向量存储(Vector stores)#

向量存储(Vector stores) 用于存储嵌入后的数据,并在其上执行向量搜索。

  • 简单向量存储(Simple Vector Store)
  • PGVector 向量存储(PGVector Vector Store)
  • Pinecone 向量存储(Pinecone Vector Store)
  • Qdrant 向量存储(Qdrant Vector Store)
  • Supabase 向量存储(Supabase Vector Store)
  • Zep 向量存储(Zep Vector Store)

了解更多关于 LangChain 中的向量存储(Vector stores)。

其他功能(Miscellaneous)#

实用工具类节点。 LangChain 代码(LangChain Code):导入 LangChain。这意味着即使 n8n 尚未为某项功能提供专用节点,你仍然可以通过代码使用它。

子节点(Sub-nodes)#

每个根节点可以连接一个或多个 子节点(sub-nodes)。

文档加载器(Document loaders)#

文档加载器将数据以文档形式添加到你的流程中。数据源可以是文件或网络服务。 可用节点:

  • 默认文档加载器(Default Document Loader)
  • GitHub 文档加载器(GitHub Document Loader)

了解更多关于 LangChain 中的文档加载器 (Document loaders) 的信息。

语言模型#

大语言模型(LLMs, Large Language Models) 是用于分析数据集的程序,是人工智能应用中的核心组件。

可用节点:

  • Anthropic 聊天模型
  • AWS Bedrock 聊天模型
  • Cohere 模型
  • Hugging Face 推理模型
  • Mistral Cloud 聊天模型
  • Ollama 聊天模型
  • Ollama 模型
  • OpenAI 聊天模型

了解更多关于 LangChain 中的语言模型 的信息。

记忆(Memory)#

记忆(Memory) 用于在一系列查询中保留之前交互的信息。例如,当用户与聊天模型进行交互时,如果应用程序能够记住并调用整个对话历史,而不仅仅是用户最近输入的一条查询,将会非常有用。

可用节点:

  • Motorhead
  • Redis 聊天记忆
  • Postgres 聊天记忆
  • 简单记忆(Simple Memory)
  • Xata
  • Zep

了解更多关于 LangChain 中的内存(Memory) 的信息。

输出解析器(Output parsers)#

输出解析器将大语言模型(LLM)生成的文本进行格式化,使其符合你所需的结构。

可用节点:

  • 自动修复输出解析器(Auto-fixing Output Parser)
  • 项目列表输出解析器(Item List Output Parser)
  • 结构化输出解析器(Structured Output Parser)

了解更多关于 LangChain 中的输出解析器(Output parsers) 的信息。

检索器(Retrievers)#

  • 上下文压缩检索器(Contextual Compression Retriever)
  • 多查询检索器(MultiQuery Retriever)
  • 向量存储检索器(Vector Store Retriever)
  • 工作流检索器(Workflow Retriever)

文本分割器(Text splitters)#

文本分割器用于将数据(如文档)拆分为更小的部分,以便大语言模型(LLM)更容易处理信息并返回准确的结果。

可用节点:

  • 字符文本分割器(Character Text Splitter)
  • 递归字符文本分割器(Recursive Character Text Splitter)
  • Token 分割器(Token Splitter)

n8n 的文本分割节点实现了 LangChain 文本分割器 API 的部分功能。

工具#

实用的 工具(tools):

  • 计算器(Calculator)
  • 代码工具(Code Tool)
  • SerpAPI
  • 思考工具(Think Tool)
  • 向量存储工具(Vector Store Tool)
  • Wikipedia
  • Wolfram|Alpha
  • 工作流工具(Workflow Tool)

嵌入(Embeddings)#

嵌入(Embeddings) 用于捕捉文本、图像、视频或其他类型信息之间的“相关性”。(来源)

可用节点:

  • 嵌入 AWS Bedrock(Embeddings AWS Bedrock)
  • 嵌入 Cohere(Embeddings Cohere)
  • 嵌入 Google PaLM(Embeddings Google PaLM)
  • 嵌入 Hugging Face 推理(Embeddings Hugging Face Inference)
  • 嵌入 Mistral Cloud(Embeddings Mistral Cloud)
  • 嵌入 Ollama(Embeddings Ollama)
  • 嵌入 OpenAI(Embeddings OpenAI)

了解更多关于 LangChain 中的文本嵌入(Text embeddings in LangChain) 的内容。

其他(Miscellaneous)#

  • 聊天记忆管理器(Chat Memory Manager)