文章目录前言一、先搞懂为什么我们需要 LangChain代码量对比直接调用 API vs 用 LangChainLangChain 的核心价值总结二、LangChain 是什么到底能做什么1. 基础定位2. 它能帮你实现哪些核心场景3. LangChain 全家桶三个层级怎么选三、LangChain 核心架构三层结构一目了然第一层基础层 —— 和 AI 对话的通用规则第二层能力层 —— 给 AI 扩展各种技能第三层应用层 —— 组合技能解决实际业务问题举个完整例子公司内部问答机器人的工作流程四、手把手搭开发环境跟着做零出错1. 包管理工具选哪个2. 第一步安装 uv3. 第二步创建项目并安装 LangChain4. 认识项目里的关键文件5. 第三步准备大模型 API6. 第四步配置环境变量保护你的 API 密钥7. 验证环境是否搭建成功五、写出你的第一个 LangChain 程序前言刚接触大模型开发都会有一个疑问我直接调用 OpenAI、DeepSeek 的 API 就能写对话了为什么还要多学一个 LangChain 框架是不是多此一举如果你只想实现一句“你好”的简单对话那确实不用。但只要你想做稍微复杂一点的功能——比如能记住上下文的智能客服、能读取内部文档的问答机器人、能自动调用工具处理数据的办公助手——纯手写 API 的代码量会指数级上涨你 80% 的时间都在重复写底层拼接、异常处理的“轮子代码”根本没空打磨真正的业务功能。这篇指南就用大白话把 LangChain 讲透从核心概念、架构逻辑到环境搭建再到写出第一个可运行的完整程序全程跟着做就能顺利上手。一、先搞懂为什么我们需要 LangChain我们先看一个真实的开发场景如果你想做一个「能记住聊天记录、还能查询公司内部文档的 AI 客服」直接调用大模型 API你需要自己手动实现所有底层逻辑自己维护每一轮的对话历史每次提问都手动把历史拼接到消息里还要实时控制长度避免超出模型的 token 上限自己搭建向量数据库从零写文档拆分、文本向量化、相似度检索的逻辑还要兼容 Word、PDF、Markdown 等各种文件格式自己实现工具调用的解析规则手写 JSON 解析逻辑处理工具调用失败、参数错误等各种异常如果后续想从 GPT 换成 DeepSeek 或者其他国产模型接口格式、参数定义、解析逻辑几乎要全部重写这些工作单独拿出来都不难但凑到一起会消耗你绝大多数的开发精力。而 LangChain 就是把这些通用的底层工作全部封装成了现成的组件让你像搭积木一样组合功能把精力集中在业务逻辑本身。代码量对比直接调用 API vs 用 LangChain我们用最简单的“调用 AI 回复一句话”来直观感受一下差异直接调用 OpenAI 原生 API需要自己处理消息格式、接口参数importopenai responseopenai.chat.completions.create(modelgpt-4,messages[{role:user,content:你好}])print(response.choices[0].message.content)用 LangChain 调用统一的标准写法换模型只需要改一行配置fromlangchain_openaiimportChatOpenAI llmChatOpenAI(modelgpt-4)responsellm.invoke(你好)print(response.content)功能越简单两者差距越小但一旦加上对话记忆、工具调用、知识库检索原生 API 的代码量会快速膨胀而 LangChain 始终能保持简洁、统一的编码风格。LangChain 的核心价值总结不用重复造轮子对话管理、工具调用、知识库检索、输出解析等通用能力全是现成组件模型无缝切换GPT、Claude、DeepSeek、本地开源模型改一行配置就能完成切换不用重写业务代码专注业务逻辑消息拼接、参数解析、异常重试、长度控制这些底层细节框架全部自动处理生态极其丰富官方支持 70 大模型、100 第三方工具、50 向量数据库绝大多数场景都有现成集成调试运维方便配套 LangSmith 调试工具可以可视化追踪每一步 AI 调用、工具执行的细节快速定位问题二、LangChain 是什么到底能做什么1. 基础定位LangChain 是 2022 年 10 月由 Harrison Chase 发起的开源框架专门用于开发「大模型驱动的应用程序」。简单来说它就是一套大模型应用开发的「标准化积木套装」——把开发 AI 应用需要的所有通用零件都做好了你只需要根据自己的需求选择组件、拼接逻辑就能快速做出完整的 AI 产品。冷知识LangChain 的发布时间比 ChatGPT 还要早一个月目前是全球最主流的大模型应用开发框架之一。2. 它能帮你实现哪些核心场景功能场景大白话解释典型应用Agent 智能代理给 AI 配备各种工具让它自己规划执行步骤、调用工具完成任务自动办公助手、智能运维客服RAG 检索增强生成让 AI 读取你的私人文档/企业知识库基于资料内容回答问题企业内部问答、文档分析机器人工具调用给 AI 扩展外部能力比如计算器、天气查询、数据库读写、代码执行多功能 AI 助手、自动化工作流多 Agent 系统多个 AI 角色分工协作各自负责一部分工作共同完成复杂任务复杂项目辅助、多角色决策模拟3. LangChain 全家桶三个层级怎么选LangChain 不是一个单一的工具而是一整套生态产品从底层到高层分为三个层级层层递进、互为补充并不是竞争关系。我们用「开奶茶店」打个比方帮你快速理解工具产品定位奶茶店类比适合人群LangGraphAgent 运行时定制控制力最强从门店装修、操作流程、饮品配方全自己设计每一步都精准可控需要定制复杂工作流、人工审核节点的企业级项目LangChain核心 Agent 框架灵活性与易用性均衡有现成的设备、原料、标准操作流程你自己搭配产品、调整口味绝大多数开发者做自定义 AI 应用、RAG、工具链Deep Agents高层 Agent 套件开箱即用现成的加盟连锁店拿来就能营业不用操心底层细节想快速做出可用的 AI 产品不想深入研究架构新手入门建议优先从 LangChain 核心框架开始学也是本篇教程的重点等业务需求变复杂了再深入 LangGraph如果只是快速做 Demo 验证想法可以直接尝试 Deep Agents。三、LangChain 核心架构三层结构一目了然LangChain 的所有模块按照「从底层基础到业务应用」分成了三层理解了这个整体结构后面学单个组件就不会混乱。第一层基础层 —— 和 AI 对话的通用规则这一层是所有功能的地基定义了和大模型交互的基础标准。Messages标准化的消息格式系统提示、用户提问、AI 回复、工具返回结果都有统一的格式规范Prompts提示词模板支持重复使用还能动态插入变量不用每次都写完整的提示词Streaming流式输出能力像 ChatGPT 官网一样逐字返回结果提升用户体验Middleware中间件机制可以在调用 AI 前后自动加重试、缓存、超时控制、日志记录等逻辑第二层能力层 —— 给 AI 扩展各种技能这一层提供了大量独立的功能组件可以单独使用也可以自由组合。Models统一的模型调用接口不管是什么品牌的大模型都用invoke单次调用、batch批量调用、stream流式调用这几个标准方法Tools工具调用组件用一个装饰器就能把你的函数变成 AI 可以调用的工具Memory对话记忆组件分短期记忆当前会话、长期记忆跨会话、摘要记忆压缩历史节省 token等多种类型Structured Output结构化输出强制 AI 按照你指定的 JSON 格式返回结果不会出现格式混乱的情况第三层应用层 —— 组合技能解决实际业务问题这一层面向具体业务场景把下层的能力组件组合起来形成完整的解决方案。Chains链式调用用管道符把「提示词模板→大模型→输出解析」串成一条流水线是 LangChain 的核心语法LCELRetrievalRAG完整的知识库检索流程从加载文档、拆分文本、存入向量库到相似度检索全链路支持Agents智能代理让 AI 自主规划执行步骤循环调用工具直到完成任务目标举个完整例子公司内部问答机器人的工作流程用户提问「公司的年假政策是什么」Prompts 组件把用户问题套进预设的提示词模板Retrieval 组件从向量数据库中检索出最相关的文档片段Models 组件把「用户问题 检索到的文档片段」一起发给大模型生成回答Structured Output 组件确保回答按照指定的格式返回Memory 组件把本轮问答存入对话记忆后续追问可以关联上下文四、手把手搭开发环境跟着做零出错1. 包管理工具选哪个开发 Python 项目核心要解决两个问题环境隔离不同项目用不同版本的库互不干扰和第三方库安装。常见的工具有三种我们直接说结论venv pipPython 自带的基础组合能用但功能少、安装速度慢conda全能型工具可以管理 Python 版本、安装非 Python 库比如 CUDA但体积大、速度慢uv新一代工具用 Rust 编写安装速度比 pip 快 10~100 倍同时支持 Python 版本管理、虚拟环境、依赖安装LangChain 全生态官方推荐本篇教程统一使用 uvLangChain 的所有包都发布在 PyPI 上uv 速度快、依赖管理精准可以完全替代 pip venv 的组合。2. 第一步安装 uv根据你的操作系统选择对应的命令WindowsPowerShell 中执行powershell-ExecutionPolicy ByPass-cirm https://astral.sh/uv/install.ps1 | iexmacOS / Linux终端中执行curl-LsSfhttps://astral.sh/uv/install.sh|sh安装完成后在终端输入以下命令能输出版本号就说明安装成功uv--version3. 第二步创建项目并安装 LangChain按顺序执行以下命令每一步的作用都标注清楚了# 1. 创建项目文件夹并进入mkdirlangchain-coursecdlangchain-course# 2. 初始化项目自动创建虚拟环境和项目配置文件uv init# 3. 锁定 Python 版本推荐 3.12稳定兼容绝大多数包uv python pin3.12# 4. 安装 LangChain 核心包必装uvaddlangchain# 5. 安装你要用的大模型集成包选一个你有 API 的安装即可uvaddlangchain-openai# OpenAI/GPT 系列也兼容所有 OpenAI 格式的中转/国产平台uvaddlangchain-deepseek# DeepSeek 官方集成uvaddlangchain-ollama# 本地运行大模型时使用uvaddlangchain-anthropic# Claude 系列模型# 6. 安装环境变量工具保护 API 密钥uvaddpython-dotenv小说明uv add会自动把依赖记录到项目配置文件里还会自动生成锁文件方便团队协作时还原完全一致的开发环境。4. 认识项目里的关键文件执行完上面的命令后你的项目文件夹里会多出这几个核心文件/文件夹pyproject.toml项目的「依赖清单」记录了项目需要的所有包和版本要求uv add会自动更新它uv.lockuv 自动生成的「精确版本记录」记录了所有包包括间接依赖的精确版本保证换电脑、换环境也能得到完全一致的结果.venv文件夹虚拟环境目录所有安装的包都存在这里不用手动修改里面的内容5. 第三步准备大模型 APILangChain 本身不提供大模型你需要准备一个可用的大模型 API 密钥。常见的选择有三类类型代表平台适合人群海外官方OpenAI、Anthropic有海外访问条件 海外信用卡追求最稳定的效果国内中转CloseAI、OpenRouter国内网络可用、支持支付宝接口和官方完全兼容国产模型DeepSeek、智谱 AI、硅基流动性价比高、国内直连很多都有免费额度适合新手学习新手推荐DeepSeek 价格便宜、中文能力强非常适合入门学习如果想用 GPT 系列可以选择合规的国内中转平台。6. 第四步配置环境变量保护你的 API 密钥绝对不要把 API 密钥直接写在代码里一旦代码上传到公开仓库密钥很容易泄露造成财产损失。我们用.env文件来存储敏感信息。在项目根目录新建一个名为.env的文件填入你的配置以 OpenAI 兼容格式为例# 你的 API 密钥 OPENAI_API_KEYsk-你的密钥 # 模型接口地址官方填官方地址中转/国产填对应平台的地址 OPENAI_BASE_URLhttps://api.openai.com/v1代码中通过工具读取环境变量fromdotenvimportload_dotenvimportos# 加载 .env 文件里的所有变量到系统环境中load_dotenv()# 读取变量api_keyos.getenv(OPENAI_API_KEY)base_urlos.getenv(OPENAI_BASE_URL)重要提醒一定要把.env加到.gitignore文件中绝对不要上传到代码仓库7. 验证环境是否搭建成功在终端执行这条命令能正常输出版本号就说明环境搭建完成了uv run python-cimport langchain; print(langchain.__version__)五、写出你的第一个 LangChain 程序环境搭好之后我们来写第一个可运行的 LangChain 应用。在项目根目录新建一个main.py文件粘贴下面的代码importosfromdotenvimportload_dotenvfromlangchain_openaiimportChatOpenAI# 1. 加载 .env 中的环境变量load_dotenv()# 2. 创建大模型实例llmChatOpenAI(modelgpt-4,# 替换成你实际使用的模型名称比如 deepseek-chatapi_keyos.getenv(OPENAI_API_KEY),base_urlos.getenv(OPENAI_BASE_URL))# 3. 调用大模型responsellm.invoke(你好请用一句话介绍一下 Python 语言)# 4. 打印回答结果print(AI 回答,response.content)在终端执行运行命令uv run python main.py运行成功的话终端就会输出 AI 的回复恭喜你完成了第一个 LangChain 程序