01
LangChain 核心:Chain 与 Prompt 模板
EXPLORE +
为什么需要框架?
直接调用 LLM API 只能做单轮问答。一个完整的 AI 应用需要:提示词管理、多步推理、工具调用、记忆管理、流式输出。框架将这些能力封装为可组合的模块。
LangChain 核心概念
LangChain 是最流行的 LLM 应用框架,核心抽象是 Chain(链)——将多个组件串联为一条处理流水线。
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatOpenAI
from langchain.schema import StrOutputParser
# 1. 定义 Prompt 模板(变量注入 + 角色设定)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一位{role}专家,用{style}风格回答。"),
("user", "{question}")
])
# 2. 创建模型
model = ChatOpenAI(model="gpt-4o", temperature=0.3)
# 3. 构建 Chain(Prompt → LLM → 输出解析)
chain = prompt | model | StrOutputParser()
# 4. 调用
result = chain.invoke({
"role": "Python 后端",
"style": "简洁专业",
"question": "Django ORM 的 N+1 问题如何解决?"
})
print(result)LCEL(LangChain Expression Language)
使用 | 管道符串联组件,构成声明式流水线。支持并行(RunnableParallel)、条件分支(RunnableBranch)、回退(with_fallbacks)。
实战要点
- Prompt 模板支持 Few-shot 示例注入,通过 MessagesPlaceholder 动态添加历史对话
- Chain 可以嵌套:复杂任务 = 多个子 Chain 的组合
- 生产环境建议加上 RunnableConfig 进行调用追踪和超时控制