LangChain 保姆级入门:10 行代码搭建你的第一个 AI 智能体应用
LangChain 保姆级入门:10 行代码搭建你的第一个 AI 智能体应用
【免费下载链接】langchainThe agent engineering platform.项目地址: https://gitcode.com/GitHub_Trending/la/langchain
你有没有遇到过这样的时刻:花了两周时间研究提示词、调接口,终于让 AI 能回答问题了,可它一问三不知——因为模型根本"看不见"你手头的数据。你写的代码里,openai.ChatCompletion.create()换一家厂商就得全部重写,更别提让它自己上网查资料、算个结果、再决定下一步做什么了。
别急着怀疑自己。这个困局几乎是所有 AI 应用开发者的第一道坎,而LangChain——一个被官方定位为"智能体工程平台"(The agent engineering platform)的开源项目,就是为了拆掉这道坎而生的。它是构建AI 智能体和 LLM 应用的事实标准框架,简单到 10 行代码就能跑通第一个对话应用,强大到能支撑生产级的自主决策系统。
它到底能帮你做什么:一张清单看懂 LangChain 的核心能力
在动手之前,先花 30 秒看看 LangChain 能把你从哪些重复劳动里解放出来:
| 你的烦恼 | LangChain 的答案 | 对应模块 |
|---|---|---|
| 换个模型供应商就要改代码 | 统一接口,一行切换 OpenAI、Anthropic、DeepSeek 等 30+ 家 | langchain.chat_models.init_chat_model |
| 想让 AI 调用你的工具/数据库 | 内置工具协议,绑定即可 | langchain_core.tools |
| 想让 AI 自己规划、拆解任务 | 开箱即用的智能体架构 | langchain.agents.create_agent |
| 文档太长塞不进上下文 | 文本分割器 + 向量存储 | langchain_text_splitters |
| 需要重试、限流、敏感信息过滤 | 官方中间件一条条"插队" | langchain.agents.middleware |
换句话说:模型是大脑,LangChain 是四肢和神经。它帮你把"连接、编排、迭代"这些最繁琐的活儿标准化,让你把精力留在业务本身。
一个真实的例子:让 AI 学会"查单号"的客服智能体
光说不练假把式。我们来看一个最典型、也最能体现 LangChain 价值的场景:给客服 AI 装上"查询订单"的能力。
如果你自己从零写,流程是这样的:先接大模型 API,再写一个查询函数,然后手动设计一套"模型输出 JSON → 程序解析 → 调用函数 → 把结果回填给模型"的循环,还要处理模型偶尔不按格式输出的情况……工程量不小。
用 LangChain 只需要两步。第一步,写一个普通 Python 函数当"工具":
from langchain_core.tools import tool @tool def query_order(order_id: str) -> str: """根据订单号查询订单状态,例如已发货/配送中。""" return "订单 20260814 状态:配送中,预计明日送达。"第二步,创建智能体并把工具交给他:
from langchain.chat_models import init_chat_model from langchain.agents import create_agent model = init_chat_model("openai:gpt-5.5") # 一行代码接入模型 agent = create_agent(model=model, tools=[query_order]) result = agent.invoke({"messages": [{"role": "user", "content": "帮我查一下 20260814 的单"}]})当用户提问时,智能体会自动判断"这需要调用工具",执行query_order,再把结果组织成自然语言回答。"判断 → 调用 → 回答"的整个闭环,LangChain 都替你包办了。
🎯 结论金句:用 LangChain 写智能体,核心心法就一句——把工具交给它,把流程交给框架。
从零到一:4 步跑通你的第一个 LangChain 项目
放心,这一步很简单,照着做就行。
第 1 步:克隆仓库并安装
git clone https://gitcode.com/GitHub_Trending/la/langchain cd langchain pip install -e "libs/langchain_v1"这个仓库是一个monorepo(多包仓库),所有核心包都集中在libs/目录下:libs/core/是底层抽象(消息、工具、Runnable 协议),libs/langchain_v1/是当前主版本,libs/partners/放着官方维护的厂商集成(OpenAI、Anthropic、Ollama、DeepSeek、xAI 等)。装好主包后,再按需装你用的厂商集成,比如pip install langchain-openai。
第 2 步:设好密钥。用你最熟悉的方式,把 API Key 写入环境变量即可。
第 3 步:跑通最小对话(也就是 README 里的 Quickstart):
from langchain.chat_models import init_chat_model model = init_chat_model("openai:gpt-5.5") result = model.invoke("你好,介绍一下你自己") print(result.content)这一步在做什么?init_chat_model会读取你的环境变量,自动实例化对应厂商的聊天模型。注意模型名的写法是厂商:模型,这是 LangChain 推荐的统一格式。
第 4 步:换成智能体。把第 3 步的代码替换成上文客服机器人的两段代码,你的第一个能调用工具的 AI 智能体就诞生了。
🔑 关键提醒:先跑通"最小对话",再加工具,再加中间件——每加一层都验证一次,这是避免排查困难的最佳姿势。
新手最容易踩的 5 个坑(附解决办法)
Q1:报错Initializing ChatOpenAI requires the langchain-openai package?这不是玄学,是集成包没装。LangChain 把模型接入拆成了独立包,装哪个厂商就pip install langchain-xxx。
Q2:模型半天不回复,像卡住了?检查是不是模型名写错或网络不通。可以用更小的模型(如gpt-4o-mini)先验证链路。
Q3:智能体调用了工具却报"未知工具"?最常见的错误——工具没在create_agent(tools=[...])里注册。LangChain 的报错信息甚至会直接告诉你两种修复方案,照着改就行。
Q4:换模型要改多少代码?一行都不用改,只改模型名。这就是 LangChain 做"模型互操作"的初衷:厂商演进再快,你的抽象层不动,应用就不会被绑架。
Q5:请求太频繁被限流?去看libs/core/langchain_core/rate_limiters.py,LangChain 提供了现成的限流器,传给rate_limiter参数即可。
💡 避坑口诀:先验证模型,再验证工具,最后调流程。按这个顺序排错,95% 的问题半小时内能定位。
进阶玩法预告:这些能力能让你玩出花
当你跑通基础智能体,LangChain 的"工程平台"属性才开始显露。libs/langchain_v1/langchain/agents/middleware/目录下藏着大量官方中间件,个个都是生产级场景的利器:
- 人机协作(human_in_the_loop.py):让 AI 在关键操作前停下来等你确认,适合审核类场景;
- 模型回退(model_fallback.py):主模型挂了自动切换备用模型,服务不中断;
- 敏感信息脱敏(pii.py):自动识别并替换身份证、手机号等隐私数据,再喂给模型;
- 工具重试(tool_retry.py):工具调用失败自动重试,提高成功率;
- 多模型路由:用
configurable_fields参数让同一个应用在运行时动态切换模型,A/B 测试神器。
想深入,可以从三个方向读源码:底层协议看libs/core/langchain_core/runnables/(一切皆 Runnable),智能体架构看libs/langchain_v1/langchain/agents/factory.py(create_agent的全部秘密),文本处理看libs/text-splitters/。
写在最后:现在就动手
回顾一下:LangChain 帮你统一了 30+ 家模型厂商的接入、封装了智能体的"思考-行动"循环、内置了人机协作与容错机制。它不是让你少写几行代码那么简单——它把**"AI 应用工程化"这件事变成了有标准答案的成熟路径**,让你从"调 API 的苦力"升级为"设计智能体的架构师"。
别把这篇教程看完就关掉。现在就去克隆仓库、跑通那 10 行代码,然后试着给智能体加上你自己的一个工具函数。你会发现,从"AI 能聊天"到"AI 能干活",中间只隔着一个 LangChain 的距离。🚀
【免费下载链接】langchainThe agent engineering platform.项目地址: https://gitcode.com/GitHub_Trending/la/langchain
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
