图解LangChain:一张架构图理清大模型应用框架核心逻辑

很多同学刚接触 LangChain 时,都会有点懵: 文档里一堆 Chain、Agent、RAG、Memory,根本不知道从哪下手。

其实 LangChain 的架构,和前端框架挺像的。 只要你把它当成"AI界的React",理解起来会快很多。


LangChain 分层架构

LangChain 的架构,说白了就三层。

  1. 核心组件层:LLM、Prompt、解析器,这些都是基础积木。
  2. 应用层:用 Chain 或 Agent 把积木拼成能跑的业务逻辑。
  3. 基础设施层:向量检索、记忆持久化、运行监控,保证你的应用稳得住、查得了。

是不是很像前端?组件库 → 业务组件 → 脚手架/监控。


Chain:AI 应用的"Promise 链"

Chain 是 LangChain 最核心的抽象。

它的工作方式特别简单:

  1. 用户输入进来
  2. PromptTemplate 把变量填好
  3. 丢给 LLM 生成文本
  4. OutputParser 解析成结构化结果

我们可以想象成 Promise 链,或者 Express 中间件。


Agent:让 LLM 自己决定"要不要调用工具"

Chain 是按部就班的。

Agent 则更像一个会思考的执行者。

它遵循一个循环:

思考 → 行动 → 观察 → 再思考。

每次它都会问自己:这个问题我能直接回答吗?

如果不能,就调用工具继续收集信息。

比如用户说"帮我查小米su7销售额并画个图",Agent 会先去查数据库,再调用图表工具,最后汇总输出。


RAG:给大模型装一个"外接大脑"

大模型有一个病:容易一本正经地胡说八道。

RAG 就是用来治这个病的。

做法不复杂:

先把企业文档加载进来,切成小段,转成向量存进向量库。

用户提问时,先把问题也转成向量,去库里找最相关的内容,再把这些内容作为上下文一起给 LLM。

相当于给大模型配了一个可查询的知识库。

回答有出处,幻觉自然就少了。


Memory:没有记忆的 AI,就像金鱼

没有记忆的对话,体验很差。

你刚说完"规划去杭州的旅游行程",下一句问"我要飞机去,高铁回来,7天",它可能一脸懵。

Memory 模块的作用就是把对话历史保存下来,每次调用时注入 Prompt。

这样 LLM 就能看到前文,回答更连贯。

实现方式也很多样:

简单的可以存最近 N 轮对话;复杂的可以做摘要,只保留关键信息,避免撑爆上下文窗口。


前端集成:为什么不要让浏览器直接调大模型

很多前端同学会问:我能不能直接在前端调 LangChain?

不建议。

生产环境里,前端通常只负责发消息给后端 API。

后端用 LangChain 编排 Prompt、Memory、Tools,统一调用模型,再把结果返回给前端。

这样做有两个好处。

一是安全:API Key、向量库地址这些敏感信息不会暴露到浏览器。

二是好维护:业务逻辑集中在后端,前端只负责展示和交互。


总结

LangChain 看起来概念多,但本质就是做了一件事:

把 LLM 的能力,用组件化的方式组织起来。

相关推荐
承渊政道12 小时前
LangChainAI应用开发框架【LangChain与LangGraph介绍】
langchain·大模型·langgraph·ai应用开发
Flynn Liang12 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices
Flynn Liang12 小时前
LangChain4j 1.23 架构全景:Java 大模型应用的 6 层抽象
java·langchain·大模型·rag·ai agent·langchain4j
GISer_Jing13 小时前
Agent相关岗位时收集的各类技术面试题
后端·ai·langchain
Flynn Liang14 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
叼烟扛炮14 小时前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
GISer_Jing15 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
西安小哥17 小时前
大厂把大模型做为一层“网关”,比换个框架更值得琢磨
架构·langchain
叼烟扛炮1 天前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮1 天前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain