【大模型】LangChain快速入门
LangChain 是一个构建大模型应用的框架。多轮对话知识库问答(RAG)Agent 自动调用工具多模型编排Prompt 模板管理记忆管理👉 代码会迅速变得混乱。LangChain 的作用就是:🧠 把 LLM 应用拆成模块化组件,让你像搭积木一样构建 AI 系统。
·
LangChain快速入门指南
🚀 LangChain 快速入门:10分钟构建你的第一个 LLM 应用
适合人群:AI开发者 / Python工程师 / 想做 RAG、Agent、知识库系统的人
阅读时间:10分钟
技术栈:Python + OpenAI + LangChain
一、什么是 LangChain?
LangChain 是一个构建大模型应用的框架。
如果你直接用 OpenAI API,你只能做:
client.chat.completions.create(...)
但当你要做:
- 多轮对话
- 知识库问答(RAG)
- Agent 自动调用工具
- 多模型编排
- Prompt 模板管理
- 记忆管理
👉 代码会迅速变得混乱。
LangChain 的作用就是:
🧠 把 LLM 应用拆成模块化组件,让你像搭积木一样构建 AI 系统。
二、LangChain 核心架构
LangChain 的核心可以理解为 6 个组件:
| 模块 | 作用 |
|---|---|
| Models | 大模型 |
| Prompts | Prompt 模板 |
| Chains | 调用链 |
| Memory | 记忆 |
| Tools | 工具 |
| Agents | 智能体 |
我们一个一个来看。
三、安装 LangChain
pip install langchain
pip install langchain-openai
pip install openai
如果你做 RAG:
pip install faiss-cpu
pip install tiktoken
四、最简单的 LLM 调用
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4o-mini",
temperature=0
)
response = llm.invoke("用一句话解释什么是量子计算")
print(response.content)
✔ 就这么简单。
五、Prompt 模板
不要手写字符串拼接,用 PromptTemplate。
from langchain.prompts import PromptTemplate
template = """
你是一个专业老师。
问题:{question}
请用简单易懂的方式回答。
"""
prompt = PromptTemplate.from_template(template)
formatted_prompt = prompt.format(question="什么是黑洞?")
print(formatted_prompt)
六、LCEL(推荐方式)
LangChain 现在推荐用 LCEL(LangChain Expression Language)
可以像管道一样写:
from langchain.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
prompt = ChatPromptTemplate.from_template("解释一下:{topic}")
model = ChatOpenAI(model="gpt-4o-mini")
chain = prompt | model
result = chain.invoke({"topic": "神经网络"})
print(result.content)
优点:
- 可组合
- 可并行
- 可扩展
- 代码优雅
七、构建一个 RAG(知识库问答)
这是最常见的应用场景。
1️⃣ 加载文档
from langchain.document_loaders import TextLoader
loader = TextLoader("data.txt")
docs = loader.load()
2️⃣ 文档切分
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
splits = splitter.split_documents(docs)
3️⃣ 向量化
from langchain_openai import OpenAIEmbeddings
from langchain.vectorstores import FAISS
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(splits, embeddings)
4️⃣ 构建 RAG Chain
retriever = vectorstore.as_retriever()
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(),
retriever=retriever
)
qa.invoke("这篇文章讲了什么?")
✔ 一个最基础的知识库就完成了。
八、Memory(对话记忆)
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
memory = ConversationBufferMemory()
conversation = ConversationChain(
llm=ChatOpenAI(),
memory=memory
)
conversation.invoke("你好")
conversation.invoke("我刚才说了什么?")
模型就能记住上下文了。
九、Agent(自动调用工具)
这是 LangChain 最强的功能。
例如:
- 调用搜索引擎
- 调用计算器
- 调用数据库
- 调用 API
from langchain.agents import initialize_agent, Tool
from langchain.tools import DuckDuckGoSearchRun
search = DuckDuckGoSearchRun()
tools = [
Tool(
name="Search",
func=search.run,
description="搜索互联网信息"
)
]
agent = initialize_agent(
tools,
ChatOpenAI(),
agent="zero-shot-react-description",
verbose=True
)
agent.invoke("2026世界杯什么时候举行?")
Agent 会:
- 思考
- 决定是否调用工具
- 调用工具
- 整合结果
- 输出答案
十、LangChain 的真实应用场景
| 场景 | 解决方案 |
|---|---|
| 企业知识库 | RAG |
| 文档问答 | Retrieval |
| 自动写报告 | Chain |
| AI客服 | Memory |
| 数据库问答 | Text2SQL |
| 自动执行任务 | Agent |
| 多模型协作 | Router Chain |
十一、常见误区
❌ 误区1:LangChain = 大模型
错。LangChain 只是框架。
❌ 误区2:一定要用 LangChain?
不是。
- 简单问答 → 直接 API
- 复杂系统 → 强烈建议用
❌ 误区3:性能很慢?
新版本 LCEL 已经非常快,瓶颈一般在:
- 向量搜索
- 大模型推理
- 网络延迟
更多推荐


所有评论(0)