ChatPromptTemplate 是 LangChain 中专门用于管理多角色对话结构的提示词模板工具。它的核心价值在于,开发者可以预先定义不同类型的对话角色消息(如系统指令、用户提问、AI历史回复),并通过数据绑定动态生成完整对话上下文。

1.角色消息模板化

为每类对话角色设置预设的消息格式,支持动态变量插值:

from langchain_core.prompts import ChatPromptTemplate

template = ChatPromptTemplate.from_messages([
    ("system", "你是一个{topic}领域的专家"),  # 系统指令,可替换topic变量
    ("user", "{query}"),                    # 用户提问内容占位符
    ("assistant", "好的,我会仔细思考这个问题"),  # 预置AI回复样本
    ("human", "请继续分析以下内容:{input}")     # 新用户信息输入
])

2.动态参数注入

通过字典传入变量值,自动生成完整对话结构:

prompt = template.format_messages(
    topic="量子物理",
    query="如何解释量子纠缠现象?",
    input="量子纠缠与时空结构的关系是什么"
)

3.关联模型调用链路

搭配模型组成处理链条,可直接生成响应:

chain = template | llm  # llm为语言模型实例
response = chain.invoke({
    "topic": "编程教学", 
    "query": "如何学习Python?",
    "input": "推荐具体的学习路径"
})

演示:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐