news 2026/3/14 1:47:24

常用提示词模板总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用提示词模板总结

提示词模板有助于将用户输入和参数转换为语言模型的指令。 这可以用于指导模型的响应,帮助其理解上下文并生成相关且连贯的基于语言的输出。

提示词模板的输入是一个字典,其中每个键表示要填充的提示词模板中的变量。

①.from_template--变量占位符

作用:通过单个字符串模板(支持变量占位符,比如{question})来构建对话提示。
适用场景:简单的单轮提示(比如只需要给大模型发一条指令)。

prompt_template=ChatPromptTemplate.from_template( "请回答这个问题{question}" ) chain=prompt_template | llm resp=chain.invoke({"question":"什么是深度学习?"}) print(resp.content)

②.from_messages--变量占位符

作用:通过消息列表(每个消息包含role(角色,比如user/assistant/system)和content(内容))来构建对话提示。
适用场景:多轮对话、需要明确角色(比如设置system指令 + user问题)的复杂提示。

prompt_template=ChatPromptTemplate.from_messages([ ("system", '你是个百科小助手'), ("human", "请用{language}简要回答这个问题{question}") ]) chain=prompt_template | llm resp=chain.invoke({"language":"英语","question":"什么是深度学习?"}) print(resp.content)

③.消息占位符

如果我们希望用户传入一个消息列表(历史消息),并将其插入到特定位置呢? 这就是需要使用 MessagesPlaceholder。

prompt_template=ChatPromptTemplate.from_messages([ ("system", '你是个百科小助手'), MessagesPlaceholder('msg') ]) chain=prompt_template | llm #resp=chain.invoke({"msg":[HumanMessage(content="请简要回答什么是深度学习")]}) resp=chain.invoke({"msg":["human","请简要回答什么是深度学习"]}) print(resp.content)

④.少量样本提示词模板

是通过 Few-Shot(少样本)学习,给大模型提供 3 个「复杂问题→分步推理→最终答案」的示例,让模型学会 “先拆解问题→提后续子问题→查中间答案→汇总最终答案” 的推理范式,最终让模型用同样的逻辑回答 “唐朝和宋朝哪个持续时间更长” 的问题。

#步骤一:提供实例 examples=[ { 'question':'穆罕默德·阿里和艾伦·图灵谁活得更久?', 'answer':''' 是否需要后续问题:是 后续问题:穆罕默德·阿里去世时多大? 中间答案:穆罕默德·阿里去世时74岁。 后续问题:艾伦·图灵去世时多大? 中间答案:艾伦·图灵去世时74岁。 所以最终答案是:穆罕默德·阿里 ''', }, { 'question':'乔治·华盛顿的外祖父是谁?', 'answer':''' 是否需要后续问题:是 后续问题:乔治·华盛顿的母亲是谁? 中间答案:乔治·华盛顿的母亲是玛丽·鲍尔·华盛顿。 后续问题:玛丽·鲍尔·华盛顿的父亲是谁? 中间答案:玛丽·鲍尔·华盛顿的父亲是约瑟夫·鲍尔。 所以最终答案是:约瑟夫·鲍尔 ''', }, { 'question': '《大白鲨》和《007:大战皇家赌场》的导演是否来自同一个国家?', 'answer': ''' 是否需要后续问题:是 后续问题:《大白鲨》的导演是谁? 中间答案:《大白鲨》的导演是史蒂文·斯皮尔伯格。 后续问题:史蒂文·斯皮尔伯格来自哪里? 中间答案:美国。 后续问题:《007:大战皇家赌场》的导演是谁? 中间答案:《007:大战皇家赌场》的导演是马丁·坎贝尔。 后续问题:马丁·坎贝尔来自哪里? 中间答案:新西兰。 所以最终答案是:否 ''', }, ] base_template=PromptTemplate.from_template("问题:{question}\n{answer}") prompt_template=FewShotPromptTemplate( examples=examples, example_prompt=base_template, suffix='问题:{input}', # 示例后拼接“待回答的问题”(input是最终要传的参数) input_variables=['input'], # 指定最终要传入的变量名(对应后续invoke的input参数) ) chain=prompt_template | llm resp=chain.invoke({"input":"中国历史上,唐朝和宋朝哪个朝代持续时间更长?"}) print(resp.content) 运行结果: 我们需要先查询两个朝代的具体起止年份,然后计算持续时间进行比较。 **是否需要后续问题:是** **后续问题:唐朝的起止年份是什么?** **中间答案:唐朝(618年—907年),持续289年。** **后续问题:宋朝的起止年份是什么?** **中间答案:宋朝(960年—1279年),持续319年。** **所以最终答案是:宋朝**

⑤.少量对话样本提示词模板

跟第四种类似

examples=[ {"input":"2@3","output":"6"}, {"input":"2@2","output":"4"}, {"input":"3@3","output":"9"}, ] base_prompt=ChatPromptTemplate.from_messages( [ ('human','{input}'), ('ai','{output}'), ] ) few_shot_template=FewShotChatMessagePromptTemplate( examples=examples, example_prompt=base_prompt, ) final_template=ChatPromptTemplate.from_messages([ ("system","你是智能机器人AI助手!"), few_shot_template, MessagesPlaceholder("msgs") ] ) chain=final_template | llm resp=chain.invoke({"msgs":[HumanMessage(content="2@5的结果是多少")]}) print(resp.content) 输出结果: 你使用的 `@` 符号看起来像是一个自定义运算符。 根据前面的例子: - 2@3 = 6 - 2@2 = 4 - 3@3 = 9 可以推测 `a@b` 表示 **a × b**(乘法)。 所以: 2@5 = 2 × 5 = **10**
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 18:40:22

终极字符渲染优化方案:彻底解决游戏中文乱码显示问题

终极字符渲染优化方案:彻底解决游戏中文乱码显示问题 【免费下载链接】CK2dll Crusader Kings II double byte patch /production : 3.3.4 /dev : 3.3.4 项目地址: https://gitcode.com/gh_mirrors/ck/CK2dll 《十字军之王II》作为一款深受全球玩家喜爱的中世…

作者头像 李华
网站建设 2026/3/12 9:58:51

15、Puppet 扩展与负载均衡策略

Puppet 扩展与负载均衡策略 一、CA 目录同步 在进行 Puppet 扩展时,首先要保证 CA(证书颁发机构)目录的同步。可以使用 rsync 命令将主 CA 目录同步到备用 CA 目录,同时删除目标目录中源目录不存在的文件。示例命令如下: [root@puppet-ca-1 ~]# crontab -l * * * * …

作者头像 李华
网站建设 2026/3/4 14:19:07

27、MCollective与Hiera:高效基础设施管理与数据分离方案

MCollective与Hiera:高效基础设施管理与数据分离方案 1. MCollective简介 MCollective为Puppet管理的系统提供实时、基于元数据的命令和控制。它采用创新的方法来编排大量系统,不依赖主机名,而是与Facter集成,通过元数据过滤不想执行操作的机器。同时,它使用STOMP消息传…

作者头像 李华
网站建设 2026/3/14 0:26:05

Proteus 8.16下载安装教程:适用于64位系统的实践指南

Proteus 8.16 安装实战:从零开始搞定64位系统部署你是不是也遇到过这种情况?刚下载好 Proteus 8.16 的安装包,满怀期待地点开 Setup.exe,结果弹出一堆错误提示——“缺少 DLL 文件”、“访问被拒绝”、“启动后闪退”……折腾半天…

作者头像 李华
网站建设 2026/3/10 11:23:40

Dify平台的教学沙箱模式设计构想

Dify平台的教学沙箱模式设计构想 在人工智能教育快速普及的今天,越来越多高校和培训机构开始开设LLM(大语言模型)相关课程。但一个现实问题摆在面前:学生如何真正“动手”实践AI应用开发?传统的教学方式依赖PPT讲解和代…

作者头像 李华
网站建设 2026/3/11 11:07:21

AUTOSAR网络管理睡眠确认机制项目应用实例

AUTOSAR网络管理中的睡眠确认机制:从原理到实战的深度剖析一场“集体休眠”的工程挑战想象这样一个场景:车辆熄火后,所有电子控制单元(ECU)本应安静地进入低功耗睡眠模式,以减少蓄电池的静态电流消耗。然而…

作者头像 李华