LangChain 系列(一):LangChain 入门指南
如果你正在探索如何用大语言模型(LLM)构建实际应用,LangChain 大概率是你绕不开的框架。2023 年开源至今,它已经成为 LLM 应用开发领域最活跃的生态之一。
但很多开发者第一次打开 LangChain 文档时,会被一堆概念淹没——Chain、Agent、Memory、Retriever……到底该怎么上手?
这篇文章帮你理清 LangChain 的核心概念,给出实用的上手建议。
一、LangChain 是什么?
一句话:LangChain 是一个让大语言模型"能做事"的框架。
单独的 LLM 只能做文本生成。但现实中的应用需要它:查数据库、调 API、读文件、记住上下文、按流程执行多步任务。LangChain 提供了一套标准化的抽象层,把这些能力组装起来。
它的核心价值不是"让模型更聪明",而是让模型和外部世界连接起来。
二、五个核心概念
1. Models(模型层)
LangChain 对接了几乎所有主流 LLM 提供商——OpenAI、Anthropic、Google、本地模型等。统一的接口意味着你可以一行代码切换底层模型:
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
llm = ChatOpenAI(model="gpt-4o")
# 切换到 Claude 只需:
llm = ChatAnthropic(model="claude-sonnet-4-20250514")
实用建议: 先用便宜模型(如 GPT-4o-mini)跑通流程,再换强模型调效果。
2. Prompts(提示词模板)
把用户输入、上下文信息、系统指令模板化:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个{role},请用{style}的方式回答"),
("user", "{question}")
])
实用建议: 别把提示词硬编码在代码里。用模板变量,方便 A/B 测试和迭代。
3. Chains(链)
把模型、提示词、输出解析器串成流水线。最简单的链:
from langchain_core.output_parsers import StrOutputParser
chain = prompt | llm | StrOutputParser()
result = chain.invoke({"role": "Python 专家", "style": "简洁", "question": "怎么读 CSV?"})
这里的 | 是 LangChain 的 LCEL(LangChain Expression Language),语法类似 Unix 管道。
实用建议: 简单任务用 LCEL 管道就够了,别上来就用复杂的 Chain 类。
4. Memory(记忆)
让对话有上下文。LangChain 提供多种记忆策略:
-
ConversationBufferMemory:保留全部对话历史(简单但费 token)
-
ConversationSummaryMemory:自动摘要历史(省 token)
-
ConversationBufferWindowMemory:只保留最近 N 轮
实用建议: 生产环境用摘要记忆或窗口记忆,全量记忆在长对话下会撑爆上下文窗口。
5. Agents(智能体)
让 LLM 自己决定调用什么工具、按什么顺序执行。这是 LangChain 最强大的能力:
from langchain.agents import create_tool_calling_agent, AgentExecutor
tools = [search_tool, calculator_tool, sql_tool]
agent = create_tool_calling_agent(llm, prompt, tools)
executor = AgentExecutor(agent=agent, tools=tools)
实用建议: Agent 的自由度越高,越难控制。给它精简的工具集,而不是什么都塞进去。
三、LangChain 擅长什么场景?
| 场景 | 适合度 | 说明 |
|---|---|---|
| RAG 文档问答 | 非常适合 | 成熟的 Retriever + Chain 方案 |
| 对话机器人 | 非常适合 | Memory 模块开箱即用 |
| 数据提取/结构化输出 | 适合 | OutputParser 支持 JSON、Pydantic |
| 多步工作流 | 一般 | 复杂流程建议看 LangGraph |
| 多智能体协作 | 一般 | 推荐用 LangGraph |
四、新手常踩的三个坑
坑 1:过度封装。 LangChain 的抽象层很多,但不是每个都需要用。简单任务直接调 API 更清晰。
坑 2:忽视错误处理。 LLM 调用可能超时、返回格式错误、触发速率限制。务必加 try/except 和重试逻辑。
坑 3:调试困难。 建议开启 LangSmith 追踪(LangChain 官方的可观测性工具),能看到每一步的输入输出。
五、快速上手建议
-
先跑通一个最简单的 Chain(提示词 + 模型 + 输出解析)
-
加一个工具,让 Agent 能搜索或查数据库
-
接入 LangSmith 做调试
-
需要复杂流程时,迁移到 LangGraph
LangChain 不是万能的,但它是目前 LLM 应用开发中最成熟的"脚手架"。理解了它的核心概念,再看生态里的其他工具会轻松很多。
更多推荐


所有评论(0)