news 2026/5/25 21:36:13

LangChain入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain入门指南

一、LangChain 到底是什么

LangChain 不是“大模型”,也不是“知识库”。
它更像一个LLM 应用开发框架,主要作用是把这些东西串起来:

  • 你选哪个模型
  • 你给模型什么上下文
  • 你要不要接工具
  • 你要不要做检索
  • 你要不要做 Agent
  • 你要不要让它记住上下文
  • 你要不要它按固定 JSON 输出

官方现在的定位也很明确:LangChain 提供预置的 agent 架构和各种模型、工具集成;LangGraph 则更偏低层编排,适合需要持久化、人工介入、长流程状态控制的场景。


二、小白先记住的 8 个核心组件

1)Models:模型

这是“脑子”。
官方 Models 页面强调,模型不只是生成文本,现在常见能力还包括tool calling、structured output、多模态、reasoning。而且 LangChain 推荐用统一方式初始化聊天模型,比如init_chat_model,这样后面切模型比较方便。

你现在先这样理解就够了:

  • Chat model:最常用,拿来聊天、问答、摘要、调用工具
  • Embedding model:把文本变成向量,用于检索
  • 有些模型支持工具调用
  • 有些模型支持原生结构化输出

一句话:Chat model 负责“想”,Embedding model 负责“找”。


2)Messages:消息

这是“上下文格式”。
官方把 Messages 定义为与模型交互的基本单位,里面包含角色、内容、元数据。也就是说,你不是简单传一个字符串给模型,而是在传一组消息:system、user、assistant。

你可以这样理解:

  • SystemMessage:告诉它你是谁、该怎么做
  • HumanMessage:用户输入
  • AIMessage:模型回复
  • 多轮对话,本质上就是消息列表越来越长

一句话:Messages 决定模型“看到了什么历史”。


3)Prompts:提示词

虽然官方现在很多地方直接围绕 Messages 展开,但本质上 prompt 还是很重要。
你可以把 prompt 理解成:给模型的一套输入模板。官方错误文档里也能看出,prompt template 的变量要严格匹配,否则就会报INVALID_PROMPT_INPUT

小白阶段你先记住 3 件事:

  • prompt 不是“花哨文案”,而是输入结构
  • system prompt 比 user prompt 更像“总规则”
  • 后面做 Agent 时,prompt 会决定它什么时候用工具、输出什么格式、遵循什么角色

一句话:Prompt 决定模型“怎么想、按什么规则想”。


4)Tools:工具

这是 Agent 真正变强的关键。
官方把 Tools 定义成:让 Agent 能获取实时数据、执行代码、查数据库、调用外部 API、对外做动作的能力,本质上是带有清晰输入输出的可调用函数。模型会根据上下文决定是否调用工具,以及传什么参数。

你可以把 tool 理解成:

  • 一个 Python 函数
  • 但这个函数要能被模型“看懂”
  • 模型不是直接自己查天气,而是决定“要不要调用天气函数”

典型工具:

  • 搜索工具
  • 数据库查询工具
  • 文件读取工具
  • 计算器工具
  • 业务 API 工具

一句话:Tool 决定模型“能做什么”,不再只是会说。


5)Retrieval:检索

这是做 RAG 的基础。
官方 Retrieval 页面直接指出,大模型有两个天然限制:上下文有限、知识静态;检索就是在运行时把外部知识取回来,这正是 RAG 的基础。

在 LangChain 里,检索这一套通常包括:

  • Document:文档对象
  • Loader:把文件读进来
  • Splitter:切块
  • Embeddings:向量化
  • Vector Store:存向量
  • Retriever:按问题取相关片段

官方的语义搜索教程也是按这个顺序讲的,并且明确这些抽象就是为了支撑 RAG 这类“先取数据、再让模型回答”的应用。

一句话:Retrieval 决定模型“去哪里找依据”。


6)Agents:智能体

这是“会自己决定下一步做什么”的执行者。
官方 Agents 页面里,模型、工具、系统提示、内存、结构化输出、流式输出都被放在 Agent 周边;也就是说 Agent 不是一个单独功能,而是把这些能力组合起来的“控制层”。

你可以这样理解:

  • 普通链:流程固定,先 A 后 B
  • Agent:流程不完全固定,会自己决定调用哪个工具、调几次、什么时候停止

比如用户问:

帮我查订单,再总结异常原因,并发邮件给主管

如果是固定链,你得提前写死步骤。
如果是 Agent,它会自己判断先查库、再分析、再调用发邮件工具。

一句话:Agent 决定模型“下一步该干什么”。


7)Short-term memory:短期记忆

这不是“永久记忆”,而是会话级状态。
官方短期记忆文档说明:LangChain agent 的短期记忆本质上是 graph state 的一部分,可以通过 checkpointer 持久化,按 thread 维度保存,让同一个会话下次还能接着继续。

小白先别把它想复杂:

  • 它不是长期知识库
  • 它更像“这个对话线程的历史和状态”
  • 比如用户前面说过自己的名字、订单号、当前任务进度,后面还能继续用

一句话:短期记忆解决“这轮和上轮别断片”。


8)Structured output:结构化输出

这是工程里特别重要、但新手容易忽略的一层。
官方 Structured Output 页面强调:与其让模型返回一大段自然语言再自己手搓正则,不如直接要求它输出 JSON、Pydantic 模型或 dataclass,这样应用可以直接消费。create_agent还能自动帮你选择 provider-native 或 tool-based 的策略。

比如你要的不是:

“这是一条待办事项,优先级高……”

而是:

{ "task": "给客户回邮件", "priority": "high", "deadline": "2026-04-03" }

一句话:结构化输出解决“模型说得漂亮,但程序接不住”的问题。


三、把这些组件串起来,你就懂 LangChain 了

场景 1:普通问答机器人

流程是:

用户问题 → Messages → Model → 回复

这时你只用到:

  • Models
  • Messages
  • Prompt

场景 2:RAG 知识库问答

流程是:

用户问题 → Retriever 找资料 → 把资料塞进 Messages → Model 生成答案

这时你会用到:

  • Document / Loader / Splitter
  • Embeddings
  • Vector Store
  • Retriever
  • Model
  • Prompt

官方 RAG 教程也正是把流程分成两段:IndexingRetrieval + Generation


场景 3:智能体

流程变成:

用户问题 → Agent 判断 → 可能调用 Tool → 看结果 → 再决定是否继续调用 → 最终回答

这时你会用到:

  • Model
  • Messages
  • Tools
  • Agent
  • Short-term memory
  • Structured output

场景 4:复杂工作流 / 多智能体 / 可中断流程

这时你开始碰到:

  • 状态机
  • 条件分支
  • 持久化
  • 人工审批
  • 长流程恢复
  • 多 agent 协作

这就是 LangGraph 更擅长的区域。官方明确说它专注于durable execution、human-in-the-loop、memory、stateful workflow


四、小白最推荐的学习顺序

第 1 阶段:先学最小闭环

目标:让模型跑起来。

你先学:

  1. 初始化 chat model
  2. 传单条字符串 prompt
  3. 传 messages 列表
  4. 看 AIMessage 返回内容和元数据

你学完这一段,要能回答 3 个问题:

  • 模型怎么初始化
  • 普通字符串和 messages 有什么区别
  • 为什么多轮对话本质是消息堆叠

第 2 阶段:学工具

目标:让模型不只是“会说”。

你要学:

  1. 什么是 tool
  2. 如何把 Python 函数包装成工具
  3. 模型什么时候会触发工具
  4. 工具结果怎么回到上下文

官方 Tools 页面和 Agents 页面都强调,tool calling 是现代 agent 的核心基础。

这一阶段你至少做两个小练习:

  • 计算器工具
  • 天气 / 搜索 / 本地函数查询工具

第 3 阶段:学检索和 RAG

目标:做出“能回答文档问题”的系统。

你要学:

  1. Document
  2. Loader
  3. Splitter
  4. Embeddings
  5. Vector Store
  6. Retriever
  7. RAG chain / RAG agent

官方的语义搜索教程和 RAG 教程就是最适合你的主线。前者讲检索组件,后者讲完整 RAG。

这一阶段是 LangChain 的第一道门槛,也是最值得下功夫的地方。


第 4 阶段:学 Agent

目标:做出“能自己决定是否查工具”的系统。

你要学:

  1. create_agent
  2. tools + system prompt
  3. 短期记忆
  4. 结构化输出
  5. 中间步骤观察
  6. 错误处理和限制

官方 Agents 页面把这些都列成核心能力;另外内置 middleware 还能做重试、人工介入、上下文裁剪、摘要压缩、工具选择等,这些都很适合后期增强。


第 5 阶段:学 LangGraph

目标:做真正生产味道的 Agent 系统。

什么时候学?

  • 你需要多步骤状态流转
  • 你需要中断等待人工确认
  • 你需要任务恢复
  • 你需要多 Agent 编排
  • 你需要复杂的分支控制

官方把 LangGraph 定位成低层 agent orchestration 框架,适合长运行、带状态、可恢复的流程。


五、LangChain 小白最容易混淆的几个概念

1)Chain 和 Agent 的区别

Chain 是固定流程。
你 заранее写好第一步、第二步、第三步。

Agent 是动态流程。
它会自己决定要不要用工具、先用哪个工具、是否继续。

所以:

  • 稳定简单任务:Chain 更合适
  • 开放任务、工具较多:Agent 更合适

官方哲学页也提到,“chains” 本来就是 LangChain 的核心思路之一,比如 RAG 就是先检索再生成的预定步骤。


2)Retriever 和 Tool 的区别

很多人会混。

  • Retriever:专门用来“找相关文本”
  • Tool:广义外部能力,能查天气、算数、发请求、执行代码、调用数据库

所以可以理解为:

Retriever 更像一种专用工具,但语义上它专门服务 RAG。


3)Memory 和 Knowledge Base 的区别

  • Memory:记住对话中的状态和历史
  • Knowledge Base:存外部资料,回答时拿来查

一个解决“你刚刚说过什么”,一个解决“系统外部资料里写了什么”。

官方短期记忆文档说得很明确:它是线程级状态;而 Retrieval 文档讨论的是查询时获取外部知识。


4)LangChain 和 LangGraph 的区别

  • LangChain:适合开始做 agent 和通用应用
  • LangGraph:适合复杂编排、状态流、可恢复执行

官方甚至直接建议:高级需求才上 LangGraph;如果只是开始做 agent,可以先用 LangChain 的 agents。


六、你应该怎么练,才不会学散

我给你一条最稳的实战路线。

第 1 周:基础组件周

只做这些:

  • 模型调用
  • messages
  • prompt
  • tool
  • structured output

要求不高,但每个都写一个最小 demo。

学完标准:

  • 能做一个“提取联系人信息并输出 JSON”的小工具
  • 能做一个“带计算器工具”的问答 demo

第 2 周:RAG 周

只做这些:

  • 读 PDF / txt / md
  • 切块
  • 向量化
  • 存进向量库
  • 检索
  • 生成答案
  • 返回引用来源

学完标准:

  • 能做一个“校园制度问答”
  • 能做一个“产品说明书问答”

第 3 周:Agent 周

只做这些:

  • create_agent
  • 给 agent 挂 2 到 4 个工具
  • 加短期记忆
  • 让 agent 输出结构化结果
  • 观察工具调用过程

学完标准:

  • 能做一个“个人助理型 Agent”
  • 能处理多轮上下文
  • 能根据问题选择不同工具

第 4 周:中型项目周

这时候别再刷零散 API 了,直接上项目。
因为只有项目才能把组件真正串起来。


七、一个小白能照着抄的 LangChain 知识框架

你可以直接把下面这套当“脑图”。

LangChain 学习主线 1. 基础调用 - Chat Model - Messages - Prompt 2. 模型增强 - Structured Output - Streaming - Tool Calling 3. RAG - Document - Loader - Splitter - Embeddings - Vector Store - Retriever - RAG Chain - RAG Agent 4. Agent - create_agent - Tools - System Prompt - Short-term Memory - Middleware - Error Handling 5. 复杂编排 - LangGraph - State - Checkpoint - Human-in-the-loop - Multi-agent

这套顺序和官方当前文档结构基本一致:先核心组件,再检索、再 agent、再高级能力和多智能体。


八、两个中型项目

下面给你两个“够练手、也够像真实项目”的题目。


项目一:企业制度 / 校园资料 RAG 问答助手

项目目标

上传一批 PDF、Word、Markdown 文档,让系统回答:

  • 公司年假制度是什么
  • 设备借用流程是什么
  • 新生奖学金评定条件有哪些
  • 某份制度出处在哪一页

为什么适合你

因为这个项目会把 LangChain 的Retrieval 全家桶全练到:

  • Loader
  • Splitter
  • Embeddings
  • Vector Store
  • Retriever
  • RAG chain / RAG agent
  • 来源引用

官方 RAG 教程本身就是围绕“把外部文本拿回来回答问题”展开的,且明确分成索引和检索生成两部分。

核心功能

  1. 批量导入文档
  2. 自动切块
  3. 建立向量索引
  4. 用户提问
  5. 检索相关片段
  6. 生成答案
  7. 返回引用来源
  8. 记录问答日志

技术结构

  • LangChain
  • 向量库:Chroma / FAISS
  • Embedding 模型
  • Chat model
  • 前端:Streamlit 或 Gradio
  • 可选:LangSmith 做链路观察

官方也强调 LangSmith 很适合观察复杂多步骤应用的执行过程。

你会练到的能力

  • 文档理解
  • RAG 全流程
  • chunk 参数调优
  • 检索质量调优
  • 引用来源展示
  • prompt 约束回答范围

进阶增强

  1. 混合检索
  2. 重排 rerank
  3. 问题改写
  4. 多轮会话记忆
  5. 用户权限隔离
  6. 敏感词过滤

简历表述参考

企业知识库问答系统(LangChain + Vector DB)
基于 LangChain 搭建企业文档问答系统,实现文档加载、切块、向量检索、答案生成与来源引用展示,支持 PDF/Markdown 等多格式资料问答,提升制度查询与资料检索效率。


项目二:多工具个人事务智能体

项目目标

做一个“数字助理”型 Agent,能完成:

  • 查询天气
  • 查询待办
  • 生成日报
  • 查询知识库
  • 输出结构化任务清单
  • 记住当前会话上下文

为什么适合你

因为这个项目会把 LangChain 的Agent 主线全练到:

  • Model
  • Messages
  • Tools
  • Agent
  • Short-term memory
  • Structured output
  • Middleware(可选)

官方 Agents 页面、短期记忆页、结构化输出页正好覆盖这几个核心点。

典型交互

用户说:

帮我看看今天要做什么,再根据天气和我的会议安排,生成一个简洁的日程建议,最后输出成 JSON。

Agent 可能会这样干:

  1. 读取待办工具
  2. 读取天气工具
  3. 读取日历工具
  4. 综合分析
  5. 输出结构化结果

这就是 Agent 和普通链的区别:
它不是死流程,而是按问题动态选择工具。

核心功能

  1. 天气工具
  2. 待办工具
  3. 日历工具
  4. 本地知识查询工具
  5. 会话级记忆
  6. 结构化输出
  7. 工具失败重试
  8. 可视化日志

技术结构

  • LangChaincreate_agent
  • 自定义工具函数
  • checkpointer 做短期记忆
  • response schema 做 JSON 输出
  • 可选中间件:重试、上下文裁剪、人工审批

官方内置 middleware 里已经有工具重试、模型重试、上下文编辑、摘要压缩、人工介入、工具筛选等能力。

你会练到的能力

  • 工具设计
  • Agent 系统提示设计
  • 会话状态管理
  • 输出结构约束
  • 多工具协同
  • 失败处理

进阶增强

  1. 任务拆解待办列表
  2. 子智能体
  3. 人工确认后执行
  4. 加上企业知识库作为一个工具
  5. 升级到 LangGraph 做状态流转

官方多智能体文档里有 subagents、handoffs、skills、router、custom workflow 等模式,后面都能自然升级上去。

简历表述参考

多工具事务智能体(LangChain Agent)
基于 LangChain 构建多工具智能助理,集成天气、待办、日历与知识查询工具,实现多轮对话、任务整合、结构化输出与会话级短期记忆,能够根据用户需求动态选择工具完成复合任务。


九、最后给你一个最实用的建议

学 LangChain,不要按“函数清单”学,要按“问题清单”学。

你每学一个组件,都问自己一句:

  • Models 解决什么问题?
  • Messages 解决什么问题?
  • Tools 解决什么问题?
  • Retrieval 解决什么问题?
  • Agent 解决什么问题?
  • Memory 解决什么问题?
  • Structured output 解决什么问题?

只要你始终围着“它解决什么实际问题”来学,LangChain 就不会乱。
而且这和官方当前文档组织方式也是一致的:先核心组件,再面向场景的 RAG、SQL agent、多智能体和更高级编排。

你这条路最推荐的顺序就是:

先学: 模型 → 消息 → 工具 → 检索 → RAG 再学: Agent → 短期记忆 → 结构化输出 → 中间件 最后学: LangGraph → 多智能体 → 生产级编排
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 1:44:30

基于LabVIEW的PV光伏结L-IV测试系统的开发与应用

LabVIEW 光伏PN结. LabVIEW软件和电压源及电流源表及光谱仪,开发一个L-IV测试系统。 要求如下: 1)熟悉图形化编程软件LabVIEW和所应用的硬件仪表; 2)应用图形化编程软件LabVIEW编写数据采集程序 3)应用图形化编程软件LabVIEW编写数据二维分布的L-IV数据显示界面; 4)将编写的数据…

作者头像 李华
网站建设 2026/5/25 21:35:58

【AI超市】阿里开源的HiMarket在银行AI中的应用探讨

HiMarket的github地址:https://github.com/higress-group/himarket 一、银行AI能力需要一个"智能超市"么? 银行内部有各种AI能力(智能客服、风险评估模型、智能投顾等),但这些能力分散在不同团队&#xff…

作者头像 李华
网站建设 2026/5/23 1:44:43

右键菜单革命:ContextMenuManager极简效率引擎

右键菜单革命:ContextMenuManager极简效率引擎 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager ContextMenuManager是一款开源免费的Windows右键菜单管…

作者头像 李华
网站建设 2026/5/23 1:44:58

科学护眼智能提醒:3个维度破解数字时代眼健康难题

科学护眼智能提醒:3个维度破解数字时代眼健康难题 【免费下载链接】ProjectEye 😎 一个基于20-20-20规则的用眼休息提醒Windows软件 项目地址: https://gitcode.com/gh_mirrors/pr/ProjectEye 在数字时代,我们每天面对屏幕的时间急剧增…

作者头像 李华