
如果你刚开始接触大语言模型(LLM)应用开发,市面上各种框架、示例、工具往往会让人无从下手。实则真正好用、能快速搭建可落地 AI 应用的框架并不多,而 LangChain 是其中最值得学习的一个。
许多人认为 LangChain 是“模型调用封装工具”,实则它的能力远比这更强。它能协助你:
- 管理提示模板
- 构造模型链路
- 构建检索增强问答系统
- 为应用增加“记忆”
- 调度智能代理
- 甚至让 AI 主动调用工具、执行任务
下面我将通过一篇真正意义上的入门指南,带你从零开始了解 LangChain 的核心概念,并真正写出你的第一个 LangChain 应用。
一、LangChain 的核心理念:把复杂的 AI 逻辑“模块化”
如果要用一句话概括 LangChain:
LangChain 帮你把大语言模型应用的所有关键步骤拆成“可组合的模块”,然后像搭积木一样自由组合。
这几个模块构成了 LangChain 的基础:
- Prompt(提示)
- Model(模型)
- Memory(记忆)
- Chains(链路)
- Tools(工具)
- Agents(智能代理)
- Retrieval(检索)
只要理解了这些,你就能构建几乎任何类型的 AI 应用:对话机器人、知识库问答、自动化任务助手、代码助手等。
二、准备环境:安装与基础依赖
安装 LangChain 超级简单。你需要:
- Python 3.8+
- 一两个模型 API,例如 OpenAI
安装 LangChain:
pip install langchain
pip install langchain-openai
如果你还需要检索增强问答(RAG),可以安装 Chroma 或 FAISS:
pip install chromadb
准备好之后,就可以开始实践了。
三、第一个 LangChain 应用:最简单的问答
下面是一个最简版的 LangChain 调用示例,帮你理解它的结构:
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4.1")
result = model.invoke("给我讲一个关于程序员的冷笑话")
print(result)
你已经用 LangChain 完成了一个模型调用,但这只是开始。
接下来,我们会一步步引入 LangChain 的其他能力。
四、Prompt 模板:让输出“更可控”
直接问模型问题往往不够稳定,我们需要控制输出格式,这就是 Prompt Template 的作用。
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
template = PromptTemplate.from_template("把下面内容改写得更幽默一些:
{sentence}")
prompt = template.format(sentence="今天我写了 100 行代码,全都运行失败。")
model = ChatOpenAI()
resp = model.invoke(prompt)
print(resp)
PromptTemplate 的作用超级大:
- 保持格式一致
- 控制模型语气
- 避免提示混乱
- 让调用流程标准化
五、Chain:把多个步骤连接起来
Chain 是 LangChain 最基础的“流程控制器”。你可以把多个步骤链接成一个流程:
from langchain.prompts import ChatPromptTemplate
from langchain.chains import LLMChain
from langchain_openai import ChatOpenAI
prompt = ChatPromptTemplate.from_template("你是一位翻译专家,把内容翻译成中文:{text}")
chain = LLMChain(
llm=ChatOpenAI(),
prompt=prompt
)
result = chain.invoke({"text": "LangChain is a powerful AI framework."})
print(result)
Chain 的优势是:
- 稳定
- 可调试
- 可组合
- **超级适合生产环境**
六、Memory:让模型“记住”对话
单轮对话很简单,但如果你需要连续对话,就必须给 AI 加“记忆”。
LangChain 提供了多种 Memory,列如:
- 短期记忆:存储最近几轮对话
- 长期记忆:配合向量数据库
- 摘要记忆:对冗长对话自动浓缩
示例:对话记忆
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
from langchain_openai import ChatOpenAI
memory = ConversationBufferMemory()
chat = ConversationChain(
llm=ChatOpenAI(),
memory=memory
)
print(chat.invoke("你好,我叫小王"))
print(chat.invoke("我叫什么?"))
AI 会正确回答“你叫小王”。
七、RAG(检索增强问答):智能知识库必备
如果你希望 AI 根据你自己的资料回答问题,列如公司文档、产品说明书、法规条文,那就必须用检索增强问答(RAG)。
RAG 的核心步骤:
- 把文档转成向量
- 存入向量数据库
- 用户提问时检索相关内容
- 把检索内容作为上下文给模型
示例(最简版):
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI
docs = ["LangChain 是一个构建 LLM 应用的框架。"]
splitter = RecursiveCharacterTextSplitter()
docs = splitter.create_documents(docs)
db = Chroma.from_documents(docs, OpenAIEmbeddings())
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(),
retriever=db.as_retriever()
)
print(qa.invoke("LangChain 是什么?"))
这就是一个完整的企业级知识库雏形。
八、Agent:LangChain 最强能力让 AI 主动调用工具
Agent 是 LangChain 的灵魂。
它可以“自主决定”调用哪个工具,列如:
- 计算器
- 搜索
- 数据库查询
- 读取本地文件
- 访问 API
- 甚至运行 Python 代码
一个简单示例:
from langchain.agents import initialize_agent, Tool
from langchain_openai import ChatOpenAI
def my_tool(q):
return f"我收到了问题:{q}"
tools = [
Tool(name="local_tool", func=my_tool, description="一个本地工具")
]
agent = initialize_agent(
tools,
ChatOpenAI(model="gpt-4.1"),
agent="zero-shot-react-description"
)
print(agent.invoke("用工具帮我处理一下这个问题:今天天气怎么样?"))
你会发现它能选择工具 → 生成计划 → 得到结果 → 给你最终答案。
九、LangChain 的 License(开源协议)
LangChain 使用 MIT 许可证。
这意味着:
- 可以免费使用
- 可以商业化
- 可以修改、二次开发
- 分发时保留许可证声明即可
对企业超级友善。
十、学习路径提议(新手最容易走弯路的地方)
以下是一个超级实用、能快速上手的学习顺序:
1. 掌握模型调用与 Prompt
这是基础中的基础。
2. 学链(Chains)
学习如何把多个步骤串起来。
3. 学 Memory
做聊天机器人时必不可少。
4. 学 RAG
企业项目最常见功能。
5. 学 Agent
高级功能,超级强劲,但要循序渐进。
6. 探索调试与评估
随着项目复杂度上升,调试能力超级重大。
十一、总结:LangChain 是构建 AI 应用最值得掌握的框架之一
如果你想真正构建能落地的 AI 应用,而不只是简单调用模型,LangChain 会是你的核心工具。通过它,你可以:
- 更规范地组织模型调用
- 构建知识库问答
- 创建有记忆的聊天机器人
- 开发能自动调用工具的智能助手
- 编排复杂 AI 工作流
对于刚入门的开发者来说,它的学习曲线不算陡峭,但结构超级清晰,一旦掌握之后可以无限扩展。
如果你想把大模型真正应用到业务或项目中,这篇入门指南就是最好的起点。
