很多想上手大模型应用开发的朋友一开始都会卡在同一个问题直接调用 OpenAI 接口只能实现简单问答如果想要实现文档读取、对话记忆、任务拆解这类复杂功能自己从零写代码成本太高。LangChain 就是用来解决这个问题的开发框架。它把大模型应用开发里通用的能力封装成标准化组件不用重复造轮子我们可以自由组合快速搭建具备完整业务逻辑的 AI 程序。本文不会堆砌晦涩概念只用 10 分钟讲清楚 LangChain 最重要的 5 个核心组件最后附带可直接运行的完整示例代码带你写出第一个 AI 应用。一、先搞懂LangChain 到底是什么简单来说LangChain 是一套大模型应用开发工具集。 原生大模型接口能力十分单一只能接收文本、返回文本。而现实需求往往更加复杂和大模型持续多轮对话记住上文内容读取本地 PDF、TXT 文档让 AI 基于私有资料回答拆分复杂任务让 AI 分步执行对接搜索引擎、数据库、各类第三方工具LangChain 将这些高频需求抽象成独立组件开发者像搭积木一样组合组件就能快速开发智能应用。二、五大核心组件入门重中之重1. Models模型封装层这是最基础的组件作用是统一对接各类大模型。 不管是 OpenAI、通义千问、Claude还是本地部署的开源大模型LangChain 提供统一调用规范。切换模型时几乎不需要大幅改动业务代码。模型分为两大类LLM传统文本补全模型输入文本输出文本例如text-davinci-003ChatModel对话模型支持角色区分System、Human、AI现在主流开发都使用这类模型像 gpt-3.5-turbo、gpt-4 都属于 ChatModel。新手建议直接优先学习 ChatModel适配当下绝大多数业务场景。2. Prompts提示词管理写提示词不只是简单拼接字符串正式开发中需要模板、变量、格式约束。 Prompt 组件提供模板功能支持预设提示词框架动态填入变量。 举个简单场景我们需要 AI 作为技术顾问回答问题每次提问都复用一套角色设定只更换用户问题使用 PromptTemplate 就不用重复复制粘贴提示文本。同时它还内置输出解析器能够强制大模型返回 JSON、列表等结构化格式避免 AI 自由输出导致程序无法解析结果。3. Chains任务链路编排Chain 是 LangChain 的核心执行单元代表一条完整任务链路。 单独调用模型、提示词只能完成单一动作Chain 可以把多个组件串联起来形成自动化流程。最简单的链路提示词模板 → 大模型 → 结果输出复杂链路可以拓展读取文档 → 文本分割 → 向量检索 → 组装提示词 → 调用大模型框架内置大量开箱即用的通用 Chain比如问答链、检索增强链同时支持自定义 Chain实现个性化业务流程。4. Memory对话记忆原生大模型接口本身没有记忆能力每一次请求都是独立的不会自动记住历史对话。 Memory 组件专门用来存储、管理对话上下文。常见类型ConversationBufferMemory完整保存全部对话记录SummaryMemory自动总结历史对话防止上下文过长超出模型 token 限制开发聊天机器人时这个组件必不可少轻松实现连续对话效果。5. Retrieval检索增强RAG 核心如果想让 AI 读取本地私有文档、知识库就需要检索组件也是当下最热门的 RAG检索增强生成应用的基础。整套流程分为几个环节加载文档PDF、Markdown、Word 等文本切分把长篇文档拆分成小段文本文本向量化转为向量存入向量数据库用户提问时将问题向量化检索相似度最高的文档片段将检索到的资料放进提示词交给大模型回答依靠这套能力我们不需要微调模型就能让 AI 基于自有资料精准作答。三、五大组件关系总结Prompt提示词 Model模型 Memory记忆 → 组装进 Chain任务链路如果需要接入私有知识库再额外加入 Retrieval检索模块拓展能力。所有复杂的 LangChain 应用本质上都是这 5 个组件不同形式的组合。四、实战搭建第一个可运行的 LangChain 对话程序环境准备安装依赖bash运行pip install langchain langchain-openai python-dotenv在项目根目录新建.env文件填入密钥与接口地址兼容 OpenAI 协议的国产模型也能直接套用envOPENAI_API_KEY你的key OPENAI_BASE_URLhttps://api.openai.com/v1完整代码示例python运行from dotenv import load_dotenv import os from langchain_openai import ChatOpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.memory import ConversationBufferMemory # 加载环境变量 load_dotenv() # 1. 初始化模型Models组件 llm ChatOpenAI( model_namegpt-3.5-turbo, temperature0.7 ) # 2. 提示词模板Prompts组件 prompt PromptTemplate( input_variables[question], template你是一名资深后端开发工程师简洁专业地解答用户代码相关问题。 用户问题{question} ) # 3. 对话记忆Memory组件 memory ConversationBufferMemory() # 4. 组装任务链路Chain chat_chain LLMChain( llmllm, promptprompt, memorymemory ) # 启动对话 if __name__ __main__: print(AI助手已启动输入exit结束对话) while True: user_input input(你) if user_input.lower() exit: break res chat_chain.run(questionuser_input) print(fAI{res})这段代码整合了Models、Prompt、Memory、Chain四大组件。运行之后可以持续对话AI 能够记住上文内容。 如果后续想要接入本地文档只需要引入 Retrieval 相关组件扩展代码不需要重构现有对话逻辑。五、新手常见误区提醒不要一上来就学复杂 RAG先把基础 Chain、Prompt、Memory 练熟理解组件的调用逻辑再上手文档检索。区分 LangChain 两个大版本目前主流为 LangChain 0.1旧版本大量 API 已经废弃网上老旧教程谨慎照搬优先使用最新官方文档写法。不要过度依赖框架封装LangChain 是工具不要把所有逻辑全部交给框架。理解底层原理遇到报错时才能快速定位问题。六、后续学习路线掌握五大基础组件之后可以顺着这个路线进阶学习文本分割器、向量数据库搭建基础 RAG 知识库问答系统学习 Agent 智能体实现自主调用工具的 AI自定义 Chain封装贴合自身业务的执行流程结合 FastAPI把 LangChain 程序封装成 Web 接口对外提供服务