GPT提示工程
GPT最佳实践六个策略
提供参考文本

《GPT最佳实践 - 提升Prompt效果的六个策略》 (opens in a new tab)中,我们介绍了OpenAI官方发布的"GPT 最佳实践"指南的六个策略,其中第二个策略是提供参考文本。

GPT模型可以自信地编造虚假答案,尤其是在涉及深奥主题或引用和URL时。就像学生在考试时可以查看笔记来帮助自己更好地回答问题一样,向GPT模型提供参考文本可以帮助减少编造虚假答案的情况。

具体方法:

  • 提示模型使用参考文本来回答问题
  • 提示模型使用参考文本中的引用来回答问题

提示模型使用参考文本来回答问题

如果我们可以为模型提供与当前查询相关的可靠信息,那么我们就可以要求模型使用提供的信息来进行回答。

GPT角色角色内容
SYSTEM使用三个引号内的文章来回答问题。如果答案在文章中找不到,请返回“我找不到答案”。
USER<插入文章,每篇文章用三个引号分隔>
问题:<在此插入问题>

示例

Prompt内容:

""" 2022年的某一天,李明开着摩托车去给客户送货,路上遇到了一只小狗,他停下车去看了一下小狗,回去开车的时候货物不见了。 李明在2023年进了一批货物,货物里面居然有一只小狗。 """

问题:2022年李明开摩托车遇到了什么动物?

输出结果:

将引号内容中的2022年修改为2021年,再测试一下:

鉴于 GPT 的上下文窗口大小的有限,为了应用这个策略,我们(有时)需要某种方法来动态查找与所提出的问题相关的信息。而嵌入(Embeddings) (opens in a new tab)就可用于实现高效的知识检索。有关如何实现这一点的更多详细信息,请参阅策略“使用基于嵌入的搜索来实现高效的知识检索 (opens in a new tab)” 。

提示模型使用参考文本中的引用来回答问题

如果输入的内容已经包含了相关知识,那么我们可以要求模型通过引用所提供文档中的段落来为其答案添加引文。需要注意的是,输出中的“引文”可以通过“在所提供文档中进行字符串匹配来进行程序验证”。

GPT角色角色内容
SYSTEM你将会得到一个由三个引号分隔的文档内容和一个问题。你的任务是只使用提供的文档内容来回答问题,并引用“用于回答问题的文档内容段落”。如果文档内容中没有包含用于回答该问题所需的信息,则简单地返回:“信息不足”。如果文档内容中提供了问题的答案,则必须使用“引文”进行注释。使用以下格式引用相关的段落。 ({"引文": …})
USER"""在此插入文档内容"""
问题:<在此插入问题>

示例

英文效果:

中文效果:

Prompt内容:

"""蒸汽机是一种以蒸汽为工作流体进行机械功的热力发动机。蒸汽机利用蒸汽压力产生的力推动活塞在气缸内来回移动。这种推力可以转化为: 连杆和曲柄,转化为旋转力做功。术语“蒸汽机”通常仅适用于刚才描述的往复式发动机,而不适用于蒸汽轮机。蒸汽机是外燃机,其中工作流体与蒸汽分离 燃烧产物。用于分析此过程的理想热力循环称为朗肯循环。在一般用法中,术语“蒸汽机”可以指完整的蒸汽装置(包括锅炉等),例如铁路蒸汽机车和便携式发动机,或 可以单独指活塞或涡轮机,如梁式发动机和固定式蒸汽机。

尽管蒸汽驱动装置早在公元一世纪就为人所知,并且在 16 世纪也有一些其他用途的记录,但 Jerónimo de Ayanz y Beaumont 于 1606 年为他的第一台用于矿井排水的蒸汽驱动水泵的发明申请了专利 。 托马斯·萨弗里 (Thomas Savery) 被认为是第一个商用蒸汽动力设备的发明者,该设备是一种直接在水面上使用蒸汽压力运行的蒸汽泵。 托马斯·纽科门 (Thomas Newcomen) 于 1712 年开发出第一台商业成功的发动机,可以向机器传输连续动力。 詹姆斯·瓦特 (James Watt) 在 1764 年做出了一项重大改进,将废蒸汽转移到一个单独的容器中进行冷凝,从而大大提高了每单位燃料消耗所获得的功量。 到了 19 世纪,固定式蒸汽机为工业革命的工厂提供了动力。 蒸汽机取代了明轮船上的船帆,蒸汽机车在铁路上运行。

直到 20 世纪初,往复活塞式蒸汽机一直是主要的动力来源,当时电动机和内燃机设计的进步导致商业用途中逐渐取代蒸汽机。 由于成本更低、运行速度更高、效率更高,蒸汽轮机在发电中取代了往复式发动机。 """

问题:第一台商业上成功的蒸汽机是什么?

在输出的结果中,通过增加引文内容,可以使得输出的结果更加可靠。同时可以验证答案的确是来源于原文的某一个段落,确保信息的真实性。

参考

https://platform.openai.com/docs/guides/prompt-engineering/strategy-provide-reference-text (opens in a new tab)