提示词
参考:
标准”提示
标准提示
法国的首都是哪里?
问答形式的标准提示
问:法国的首都是哪里?
答:
Few Shot标准提示
西班牙的首都是哪里?
马德里
意大利的首都是哪里?
罗马
法国的首都是哪里?
问答形式的Few Shot标准提示
问:西班牙的首都是哪里?
答:马德里
问:意大利的首都是哪里?
答:罗马
问:法国的首都是哪里?
答:
Few shot提示有助于“few shot”或称为“上下文中”的学习,即在不更新参数的情况下进行学习
角色提示
是给 AI 分配一个角色
你是一个能解决世界上任何问题的杰出数学家。 试着解决下面的问题:
100*100/400*56 是多少?
答案是 1400。
通过为 AI 分配一个角色,我们给它提供了一些上下文。这个上下文有助于 AI 更好地理解问题。通过更好地理解问题,AI 往往可以给出更好的答案。
这种技术在现代的 AI 中 (例如 GPT-3 davinci-003) 不再那么有效了。然而,我在这个例子中使用了 GPT-3 davinci-003,所以角色提示仍然至少是一个比较有效的工具。
范例提示
类型:
-
无范例提示(0 shot prompting): 不展示范例
-
单范例提示(1 shot prompting): 只展示 1 条范例
-
多范例提示(few shot prompting): 展示 2 条及以上的范例
无范例提示
无范例提示是最基本的提示形式。它仅仅是向模型展示提示信息,没有提供任何示例,并要求其生成回答。因此,你到目前为止看到的所有指令和角色提示都属于无范例提示。无范例提示的另一个例子是:
Add 2+2:
这是无范例提示,因为我们没有向模型展示任何完整的示例。
单范例提示
单范例提示是向模型展示一个示例。例如:
Add 3+3: 6
Add 2+2:
我们仅向模型展示了一个完整的示例(“Add 3+3: 6”),因此这是一个单范例提示。
多范例提示
多范例提示是向模型展示 2 个或更多示例。例如:
Add 3+3: 6
Add 5+5: 10
Add 2+2:
这是我们向模型展示了至少 2 个完整的示例(“Add 3+3: 6”和“Add 5+5: 10”)。通常,展示给模型的示例越多,输出结果就越好,因此在大多数情况下,多范例提示比另外两种提示更受欢迎。
多示例提示有助于上下文学习,这意味着模型无需更新参数就能够进行学习输出
组合提示
面向模型的提示具有不同的格式和其复杂性。它们可以包括上下文、指令式的提示词和多个输入-输出的示例。然而,到目前为止,我们只研究了独立的提示类别。将这些不同的技巧组合起来可以产生更强大的提示。
以下是一个包含上下文、指令以及多示例提示的例子:
Twitter是一个社交媒体平台,用户可以发布称为“推文”的短消息。推文可以是积极的或消极的,我们希望能够将推文分类为积极或消极。以下是一些积极和消极推文的例子。请确保正确分类最后一个推文。 Q: 推文: "今天真是美好的一天!" 这条推文是积极的还是消极的? A: 积极的 Q: 推文: 我讨厌这个班级" 这条推文是积极的还是消极的? A: 消极的 Q: 推文: "我喜欢牛仔裤上的口袋" A:
通过添加额外的上下文和示例,我们通常可以提高人工智能在不同任务上的表现。
提示的组成部分
以下是在一个提示中将时常看到的一些组成部分:
-
角色
-
指令/任务
-
问题
-
上下文
-
示例(few shot)
在之前的教程中,我们已经涵盖了角色、指令和示例。问题则是简单的单一问题!(例如,“法国的首都是什么?”)。上下文则是任何与你想要模型作出的回应有关的信息。
顺序问题
并不是每个提示都包含所有这些组成部分,并且当某些部分出现时,它们之间也没有标准的顺序。例如,以下两个提示,每个提示包含一个角色、一个说明和一个上下文,虽然描述顺序有差异,但是我们期望他们做的事情是一样的:
你是一名医生。请阅读这份病史并预测患者的风险: 2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。
2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。 你是一名医生。请阅读这份病史并预测患者的风险:
然而,第二个提示其实更好,原因是指令是提示的最后一部分,这时候语言模型将更倾向于按指令执行而不是进一步输出上下文相关的信息。例如,如果给定第一个提示,语言模型可能会回复:2022年3月15日:与神经科医生预约随访,以评估脑震荡恢复进展
,而不是直接预测患者的风险。
风格指导
风格指导就是要求 AI 以某种特定的风格来表达。如果没有给出风格指导的问题,ChatGPT 通常会返回一两个短段落的回答,少数需要更长的回答时会返回更多内容。
ChatGPT 的回答常以中性正式的语气表达,同时提供一些细节,这非常不错!不过,如果我们想要更好的回答,可以在提示末尾自定义 ChatGPT 的回答风格。如果我们想要更加随意的回答,可以要求它以友好或非正式的语气表达;如果我们想要更易读的格式,可以给出相同的问题,但要求以无序列表的形式回答;如果我们想要一个有趣的回答,可以要求它以连续的打油诗形式回答(这是我个人最喜欢的)。
一个更详细的风格提示的例子可能是:
[问题]“以拥有 20 多年经验和多个博士学位的[领域]专家的风格和水平写作。在回答中优先考虑有建设性的、不太知名的建议。使用详细的例子进行解释,尽量少离题和耍幽默。“
使用风格输入提示将大大提高回答的质量!
描述符(discriminator)
如果你只想改变语气或微调提示而不是重新格式化,添加描述符是一个不错的方法。简单地在提示后面添加一两个词可以改变聊天机器人解释或回复您的信息的方式。你可以尝试添加形容词,如“有趣的”、“简短的”、“不友好的”、“学术语法”等,看看答案如何变化!
使用分隔符
使用三重引号、XML标签、章节标题等分隔符可以帮助划分文本的不同部分,便于ChatGPT更好地理解,以便进行不同的处理。
常见的分隔符有:
-
三引号:'''"" 内容 ''''''
-
xml标记:
<article> 内容 </article>
对于简单的内容,有分隔符和没有分隔符,得到的结果,可能差别不大。
但是,任务越复杂,消除任务的歧义就越重要。
ChatGPT是为我们生成内容的,不要把它的算力,浪费在了理解我们输入的内容上。
用三重引号分隔
参考提示词模板:
用俳句总结由三重引号分隔的文本。 """在此插入文本"""
参考提示词示例
将三引号中的古诗翻译成现代汉语。 """ 关关雎鸠,在河之洲。 窈窕淑女,君子好逑。 参差荇菜,左右流之。 窈窕淑女,寤寐求之。 求之不得,寤寐思服。 悠哉悠哉,辗转反侧。 参差荇菜,左右采之。 窈窕淑女,琴瑟友之。 参差荇菜,左右芼之。 窈窕淑女,钟鼓乐之。 """
用幽默诙谐的语气,重写三引号里的内容。
""" 老马让小马把半口袋麦子驮到磨坊去,途中遇到一条小河,小马询问老牛能不能过河,老牛说:“水很浅,刚没小腿,能过去。”就在小马准备过河的时候,从树上跳下的松鼠却阻拦说:河水“深得很哩!昨天,我的一个伙伴就是掉在这条河里淹死的”。小马只好回家问妈妈,妈妈告诉小马:“孩子,光听别人说,自己不动脑筋,不去试试,是不行的,河水是深是浅,你去试一试,就知道了。”小马再次来到河边,小心地到了对岸,他发现原来河水既不像老牛说的那样浅,也不像松鼠说的那样深。 """使用xml符号分隔
什么是xml? 全称是:Extensible Markup Language,简称:XML)是一种标记语言。XML 被设计用来传输和存储数据。HTML 被设计用来显示数据。特点:通过 XML 您可以发明自己的标签,例如 <article></article> <beauty></beauty>
参考提示词模板:
您将获得一对关于同一主题的文章(用 XML 标记分隔)。 先总结一下每篇文章的论点。 然后指出他们中的哪一个提出了更好的论点并解释原因。 <article> 在这里插入第一篇文章</article> <article> 在这里插入第二篇文章</article>
自定义界定符
参考提示词模板:
您将获得论文摘要和建议的标题。 论文标题应该让读者对论文的主题有一个很好的了解,但也应该引人注目。如果标题不符合这些标准,建议 5 个备选方案。