ChatPromptTemplate的使用

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

1.角色消息模板化

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

python 复制代码
from langchain_core.prompts import ChatPromptTemplate

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

2.动态参数注入

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

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

3.关联模型调用链路

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

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

演示:

相关推荐
wx_xkq128810 分钟前
营销智脑V3重磅迭代:从工具到平台,AI营销进入“全能时代“
人工智能
阿钱真强道10 分钟前
02 从 MLP 到 LeNet:数据、标签和任务:机器学习到底在解决什么问题?
人工智能·深度学习·机器学习·cnn·分类算法·lenet
程序阿北11 分钟前
飞书 CLI 昨天开源,我用 Claude Code 打通了公众号写作全流程
经验分享·ai·飞书
天蓝色的鱼鱼13 分钟前
别慌!AI时代,记住这12个新名词,你就赢了一半的人
人工智能
秋920 分钟前
《世界的本质》的深度分析与解读,给出了如何“顺天应人”以实现个人价值最大化的行动指南
人工智能
ai超级个体23 分钟前
别再吹牛了,100% Vibe Coding 存在无法自洽的逻辑漏洞!
前端·ai·ai编程·vibe coding
阿钱真强道28 分钟前
04 从 MLP 到 LeNet:sigmoid 和 softmax 到底在做什么?为什么输出层需要它们?
人工智能·机器学习·softmax·分类模型·sigmoid·深度学习入门
Forrit29 分钟前
Agent长期运行(Long-Running Tasks)实现方案与核心挑战
大数据·人工智能·深度学习
不熬夜的熬润之32 分钟前
APCE-平均峰值相关能量
人工智能·算法·计算机视觉
人工智能训练43 分钟前
从 1.1.3 到 1.13.2!Ubuntu 24.04 上 Dify 升级保姆级教程(零数据丢失 + 一键迁移)
linux·运维·人工智能·windows·ubuntu·dify