LangChain 入门必读:10 分钟掌握 5 个核心组件,快速搭建你的第一个 AI 应用
很多想上手大模型应用开发的朋友,一开始都会卡在同一个问题:直接调用 OpenAI 接口只能实现简单问答,如果想要实现文档读取、对话记忆、任务拆解这类复杂功能,自己从零写代码成本太高。
LangChain 就是用来解决这个问题的开发框架。它把大模型应用开发里通用的能力封装成标准化组件,不用重复造轮子,我们可以自由组合,快速搭建具备完整业务逻辑的 AI 程序。
本文不会堆砌晦涩概念,只用 10 分钟讲清楚 LangChain 最重要的 5 个核心组件,最后附带可直接运行的完整示例代码,带你写出第一个 AI 应用。
一、先搞懂:LangChain 到底是什么?
简单来说,LangChain 是一套大模型应用开发工具集。 原生大模型接口能力十分单一,只能接收文本、返回文本。而现实需求往往更加复杂:
- 和大模型持续多轮对话,记住上文内容
- 读取本地 PDF、TXT 文档,让 AI 基于私有资料回答
- 拆分复杂任务,让 AI 分步执行
- 对接搜索引擎、数据库、各类第三方工具
LangChain 将这些高频需求抽象成独立组件,开发者像搭积木一样组合组件,就能快速开发智能应用。
二、五大核心组件(入门重中之重)
1. Models|模型封装层
这是最基础的组件,作用是统一对接各类大模型。 不管是 OpenAI、通义千问、Claude,还是本地部署的开源大模型,LangChain 提供统一调用规范。切换模型时,几乎不需要大幅改动业务代码。
模型分为两大类:
- LLM:传统文本补全模型,输入文本,输出文本(例如
text-davinci-003) - ChatModel:对话模型,支持角色区分(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 协议的国产模型也能直接套用)
env
OPENAI_API_KEY=你的key OPENAI_BASE_URL=https://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_name="gpt-3.5-turbo", temperature=0.7 ) # 2. 提示词模板(Prompts组件) prompt = PromptTemplate( input_variables=["question"], template="""你是一名资深后端开发工程师,简洁专业地解答用户代码相关问题。 用户问题:{question}""" ) # 3. 对话记忆(Memory组件) memory = ConversationBufferMemory() # 4. 组装任务链路Chain chat_chain = LLMChain( llm=llm, prompt=prompt, memory=memory ) # 启动对话 if __name__ == "__main__": print("AI助手已启动,输入exit结束对话") while True: user_input = input("你:") if user_input.lower() == "exit": break res = chat_chain.run(question=user_input) print(f"AI:{res}")这段代码整合了Models、Prompt、Memory、Chain四大组件。运行之后可以持续对话,AI 能够记住上文内容。 如果后续想要接入本地文档,只需要引入 Retrieval 相关组件扩展代码,不需要重构现有对话逻辑。
五、新手常见误区提醒
不要一上来就学复杂 RAG先把基础 Chain、Prompt、Memory 练熟,理解组件的调用逻辑,再上手文档检索。
区分 LangChain 两个大版本目前主流为 LangChain 0.1+,旧版本大量 API 已经废弃,网上老旧教程谨慎照搬,优先使用最新官方文档写法。
不要过度依赖框架封装LangChain 是工具,不要把所有逻辑全部交给框架。理解底层原理,遇到报错时才能快速定位问题。
六、后续学习路线
掌握五大基础组件之后,可以顺着这个路线进阶:
- 学习文本分割器、向量数据库,搭建基础 RAG 知识库问答系统
- 学习 Agent 智能体,实现自主调用工具的 AI
- 自定义 Chain,封装贴合自身业务的执行流程
- 结合 FastAPI,把 LangChain 程序封装成 Web 接口对外提供服务