04. 从入门到实践:一文彻底掌握 LangChain 核心架构
摘要:
本文从 RAG 与 GraphRAG 的演进出发,分析传统检索增强生成在复杂推理场景中的局限,并引出 LangChain 作为大模型应用工程化框架的核心价值。文章系统梳理了 LangChain 的整体架构,包括 Model I/O、数据连接、链、记忆、代理与工具、中间件等关键模块,并结合典型调用方式与设计思路,帮助开发者建立从“模型能力”到“应用落地”的完整认知路径。适合希望构建 AI 应用(如智能招聘、电商助手等)的学习者与开发者参考。
引言:从 RAG 到 GraphRAG
上一篇我们总结了 RAG 分块策略,解决了大模型的时效性与检索问题。
但在复杂场景中,传统 RAG 仍有局限:
- 难以处理多跳推理
- 无法建模实体关系
- 本质仍是“相似度匹配”
👉 因此引出了 GraphRAG:
RAG + 知识图谱 = 关系推理能力
它通过构建“实体-关系网络”,实现从文本检索 → 结构理解 → 多跳推理的提升。
💡 那么问题来了:
有了这些能力,如何真正构建一个可落地的 AI 系统?
👉 这正是 LangChain 要解决的问题
接下来:LangChain 架构解析
一、什么是 LangChain?
LangChain 是一个用于构建基于大语言模型(LLM)的应用开发框架。
👉 它的核心价值在于:
-
简化 LLM 应用开发流程
-
提供模块化组件(可组合)
-
支持复杂 AI 应用(Agent / RAG / 多轮对话)
一句话总结:
LangChain = “让你像搭积木一样开发 AI 应用”
二、LangChain 整体架构
LangChain 的能力可以拆解为 6 大核心模块:
-
Model I/O(模型输入输出)
-
Data Connection(数据连接)
-
Chains(链)
-
Memory(记忆)
-
Agents & Tools(代理与工具)
-
Middleware(中间件)
下面逐个拆解 👇
三、Model I/O(模型输入输出)
这是 LangChain 的最基础模块,负责:
👉 如何和大模型交互
主要包含三部分:
-
Prompt(提示词)
-
Model(模型)
-
Output Parser(输出解析)
1. 模型类型
① LLM(文本补全模型)
-
输入:字符串
-
输出:字符串
-
特点:一问一答
② Chat Model(聊天模型)
-
支持多轮对话
-
结构化输入(system / user / assistant)
-
更接近真实对话场景
③ Embedding(嵌入模型)
-
将文本转换为向量
-
用于语义搜索 / 相似度计算
四、Data Connection(数据连接)
这是实现 RAG(检索增强生成) 的核心模块。
1. 核心流程

2. 关键组件
① Document Loader(文档加载)
支持:
-
PDF / Word / TXT
-
数据库
-
网页
👉 作用:统一数据格式
② Text Splitter(文本切分)
解决:
-
上下文长度限制
-
检索精度问题
关键参数:
-
chunk_size
-
chunk_overlap
③ Embedding(向量化)
👉 本质:
把“文字”变成“向量”,让机器理解语义
④ Vector Store(向量数据库)
常见方案:
-
FAISS
-
Chroma
-
Milvus
👉 作用:存储向量 + 快速检索
⑤ Retriever(检索器)
流程:
-
用户问题 → 向量化
-
在向量库中查找相似内容
-
返回相关文本
⑥ RAG(检索增强生成)
最终效果:
LLM + 私有数据 = 更准确的回答
五、Chains(链)
LangChain 的核心思想:
用“链”把多个组件串起来

1. LCEL(LangChain 表达式)
最常见写法:
chain = prompt | model | parser
2. 三种常用调用方式
✅ 1. invoke(单次调用)
print(chain.invoke({"topic": "人工智能"}))
✅ 2. stream(流式输出)
for chunk in chain.stream({"topic": "人工智能"}):
print(chunk, end="")
✅ 3. batch(批量调用)
results = chain.batch(inputs)
👉 适合高并发任务(性能提升明显)
3. 高级链
✔ RunnableSequence(顺序执行)
✔ RunnableParallel(并行执行)
✔ RunnablePassthrough(数据传递)
👉 让链具备“工程能力”
六、Memory(记忆)
用于实现:
👉 多轮对话能力
1. ChatMessageHistory
功能:
-
存储对话
-
获取历史
-
清空记录
2. RunnableWithMessageHistory(推荐)
优势:
-
自动注入历史
-
自动保存上下文
-
支持 session_id(多用户隔离)
👉 非常适合 Web 应用开发
七、Agents & Tools(代理与工具)
这是 LangChain 最强大的能力之一
1. Agent 本质
让 AI “自己思考 + 自己调用工具 + 自己解决问题”
执行流程:
问题 → 思考 → 选工具 → 调用 → 继续思考 → 输出结果
2. Tool(工具)
本质:
👉 给 AI 用的函数
示例:
from langchain.tools import tool
@tool
def add(a: int, b: int) -> int:
return a + b
👉 常见工具:
-
搜索引擎
-
Python执行器
-
数据库查询
-
API调用
八、Middleware(中间件)
1. 核心能力
| 功能 | 说明 |
|---|---|
| 监控 | 日志 / 调试 |
| 修改 | 改 Prompt / 输出 |
| 控制 | 限流 / 重试 |
| 安全 | 数据脱敏 |
2. 常见中间件
-
Retry(重试)
-
Fallback(模型降级)
-
Guardrails(内容审核)
-
Human-in-the-loop(人工干预)
👉 本质一句话:
不改代码,也能控制 AI 行为
九、总结(重点记住这 5 点)
-
LangChain 是 AI 应用开发框架
-
核心思想是 模块化 + 链式组合
-
RAG 是当前最重要应用模式
-
Agent 是未来方向(更智能)
-
Middleware 是工程化关键
十、学习建议
如果你想用 LangChain 做项目(比如比赛/毕业设计):
👉 推荐路径:
1️⃣ 先掌握 Chain(基础)
2️⃣ 再做 RAG(核心)
3️⃣ 再上 Agent(进阶)
4️⃣ 最后加 Middleware(工程化)
💡 结语
LangChain 本质不是“工具”,而是一种:
👉 构建 AI 应用的思维方式
如果你也在做 AI 项目(比如智能招聘系统 / 电商助手),欢迎一起交流 ,文章有任何错误欢迎评论指出。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)