LangChain 做 LLM 应用时该怎么用
概述
LangChain 是一个开源框架,目标很直接:把大语言模型和外部计算能力、数据源拼起来,方便开发者做出真正能用的应用。它同时提供 Python 和 JavaScript 包,接入模型、文档、工具链这些事情不用从零搭。
它的思路不是把模型当成一个独立接口去调用,而是把一串环节组织起来:模型接口、提示管理、记忆、代理,各自做一件事,再拼成完整流程。这个方向的好处是上手快,坏处也明显——抽象层一多,排错时会比直接调模型 API 更绕。
核心架构与组件
1. 模型接口(Model I/O)
LangChain 封装了多种主流大语言模型的 API,提供统一的调用方式。开发者切换模型提供商时,通常只需要改配置,不必跟着改业务逻辑。
2. 链(Chains)
链是 LangChain 里最常用的组织方式。它把多个步骤串起来执行,比如一个问答链通常会走完这些环节:
- 接收用户输入
- 检索相关文档
- 生成提示词
- 调用 LLM 生成答案
- 后处理输出结果
这种写法的价值在于流程清楚,适合把'检索 + 生成 + 清洗'这类任务拆开。真正做项目时,链也往往比一把梭的提示词更稳。
3. 代理(Agents)
代理让 LLM 自己决定要调哪些工具完成任务。你先把搜索、计算器、数据库查询这类工具定义好,Agent 再根据上下文选择路径。适合工具不固定、步骤会变的场景,但也更容易出现'模型自作主张'的情况,线上用的时候通常要多加约束。
4. 记忆(Memory)
为了保持对话连贯,LangChain 提供了多种记忆机制,包括简单内存、向量存储记忆等。它们负责保存历史交互信息,并在后续请求中引用。对聊天类应用来说很实用,但记忆并不是白送的上下文长度,存太多也会拖慢请求。
安装与环境配置
使用 LangChain 前,先把 Python 环境准备好。实践里我更倾向于直接用虚拟环境隔离依赖,不然后面换包版本会很麻烦。
pip install langchain
pip install openai
生产环境里,API Key 不要硬编码,环境变量更省事,也更安全:
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
代码示例:构建基础问答链
下面这个例子演示了一个带记忆的简单对话链,结构很基础,但足够说明 LangChain 的使用方式。
from langchain.chains import ConversationChain
from langchain.llms import OpenAI
from langchain.memory import ConversationBufferMemory
# 初始化模型
llm = OpenAI(temperature=0.7)
# 创建带有记忆的对话链
memory = ConversationBufferMemory()
conversation = ConversationChain(
llm=llm,
memory=memory,
verbose=True
)
# 执行对话
response = conversation.predict(input=)
(response)


