【n8n教程】:掌握LangChain,构建你的AI智能工作流
什么是LangChain?
LangChain 是一个强大的框架,用于开发由大语言模型(LLM)驱动的应用程序。它解决了以下核心问题:
- 单个LLM的局限性:LLM可能会产生幻觉,知识过时,缺乏实时信息
- 复杂推理任务:需要多步骤任务链式执行,而不是单次调用
- 数据集成:如何让LLM访问你的私有数据和外部工具
在n8n中,LangChain不是一个单独的节点,而是一套完整的可视化组件集合,让你无需编写复杂代码就能构建AI应用。
LangChain在n8n中的核心概念
1. 三大核心模块
| 模块 | 功能 | 在n8n中的表现 |
|---|---|---|
| Chain(链) | 将多个LLM和工具串联执行 | 通过节点连接实现任务链 |
| Agent(智能体) | LLM决定使用哪些工具 | 动态工具调用,自主决策 |
| Memory(记忆) | 保留对话历史和上下文 | 多轮对话的连贯性 |
2. 数据流动方向
用户输入 → 触发器 → 数据处理 → LLM推理 → 工具调用 → 结果输出
在n8n中:
- 触发器节点:接收用户的文本输入或文件上传
- 处理节点:清洗、格式化数据
- LangChain节点:调用LLM或向量数据库
- 输出节点:返回最终结果给用户
核心节点详解
📌 1. Language Models(语言模型)
作用:调用大语言模型进行文本生成和推理
常见模型:
- OpenAI Chat Model(GPT-4, GPT-3.5)
- Google Gemini Chat Model
- Anthropic Claude
- 本地模型(Ollama)
基础配置:
// 伪代码示例
配置 → 选择模型类型
输入 → 问题/提示词
输出 → LLM的文本响应
实战建议:
- 初学者推荐用OpenAI或Google Gemini(API成本较低)
- 设置合适的
temperature(0-1):低值=确定性,高值=创意性
🔍 2. Vector Stores(向量存储)
作用:存储文档的语义向量,进行相似度搜索(RAG核心)
工作流:
文档 → Embeddings(转向量) → Vector Store(存储) → Query(查询)
n8n支持的向量库:
- Simple Vector Store:内存存储,快速上手
- Pinecone:云端向量数据库,适合生产环境
- Qdrant:开源向量库,自托管
- Supabase:整合PostgreSQL+向量扩展
- PGVector:PostgreSQL向量插件
初学者选择:
- 快速测试 → Simple Vector Store
- 小规模应用 → Supabase
- 生产部署 → Pinecone / Qdrant
📄 3. Document Loaders(文档加载器)
作用:将各种格式的文件转换为可处理的文档对象
支持格式:
- PDF、CSV、TXT文本
- 网页内容(URL)
- 数据库记录
示例:
用户上传PDF → Document Loader解析 → 分割成小段 → 向量化 → 存储
🧠 4. Memory(记忆模块)
作用:保存对话历史,让LLM理解前后文
常见类型:
- Buffer Memory:保存最近N条消息
- Summary Memory:总结对话要点
- Entity Memory:记住提到的人物、地点等
使用场景:
- 多轮对话客服
- 持久化的聊天机器人
- 上下文相关的Q&A
🛠️ 5. Output Parsers(输出解析器)
作用:将LLM的文本输出格式化为你需要的结构
常见类型:
- List Parser:输出列表
- JSON Parser:输出JSON对象
- Enum Parser:输出特定分类
示例:
LLM输出:
"用户的问题属于 sales 部门,紧急度为 high"
↓ Output Parser
{
"department": "sales",
"priority": "high"
}
⚙️ 6. Chains(链)
作用:预定义的多步骤工作流模板
常见链类型:
- LLMChain:问题 → LLM → 答案
- RetrievalQAChain:问题 → 检索相关文档 → LLM → 答案
- RouterChain:根据输入类型路由到不同的处理流程
🤖 7. Agents(智能体)
作用:让LLM动态决定使用哪些工具
工作原理:
1. 用户提问
2. Agent分析问题
3. 决定需要哪些工具
4. 调用工具
5. 整合结果
6. 生成回答
示例:
用户问:“今年的股票表现如何?”
- Agent决定:需要调用"获取实时股票数据"工具
- 获取数据后再用LLM分析生成人类可读的报告
实战案例:构建个人知识库QA系统
📋 项目目标
构建一个能够:
- ✅ 接收用户上传的文档(PDF/TXT)
- ✅ 自动生成向量嵌入并存储
- ✅ 根据用户提问进行相似度搜索
- ✅ 使用LLM生成基于文档的答案
🎯 工作流架构
┌─────────────┐
│ 用户上传文件 │ (Form Trigger)
└──────┬──────┘
│
▼
┌──────────────────────┐
│ 文档加载与预处理 │ (Document Loader)
│ - 解析PDF/TXT │
│ - 分割成段落 │
└──────┬───────────────┘
│
▼
┌──────────────────────┐
│ 生成向量嵌入 │ (Embeddings)
│ - 调用OpenAI/Gemini │
│ - 生成语义向量 │
└──────┬───────────────┘
│
▼
┌──────────────────────┐
│ 向量存储 │ (Vector Store)
│ - 存入内存/Pinecone │
│ - 保存元数据 │
└──────┬───────────────┘
│
├─ 用户提问 (Chat Trigger)
│
▼
┌──────────────────────┐
│ 相似度检索 │ (Retriever)
│ - 查询向量库 │
│ - 返回Top-K结果 │
└──────┬───────────────┘
│
▼
┌──────────────────────┐
│ LLM生成答案 │ (LLM Chain)
│ - 结合检索结果 │
│ - 生成自然语言回答 │
└──────┬───────────────┘
│
▼
┌─────────────┐
│ 返回结果给用户 │
└─────────────┘
💻 完整可执行工作流代码
这是一个完整的n8n工作流JSON配置,可直接导入n8n使用:
{
"name": "Personal Knowledge Base QA System",
"nodes": [
{
"parameters": {
"triggerType": "typeForm"
},
"name": "Form Trigger",

最低0.47元/天 解锁文章
2691

被折叠的 条评论
为什么被折叠?



