跳到主要内容

📐 技巧6:指定输出的格式

这个技巧是技巧 2 的变种,比较常用于生成文本场景。其实在场景 7 中,你也可以用到这个技巧。

假设你想让 AI 总结一篇非常非常长的文章,并且按照特定格式给你总结,那你可以在文章前面明确输出的格式(为了不占用太多显示空间,我们省略了正文内容,你可以在 OpenAI 的 Playground 看到完整案例)。它的意思其实是让 ChatGPT 按「主题」总结,每个主题里按照无序列表(就是里面那个 -)将每个 主题的主要观点罗列出来。

请概括以下演讲的主要观点,并按照以下格式呈现:
主题1:<主题名称1>
- <观点1>
...
主题2:<主题名称2>
- <观点1>
...
主题10:..

文本:"""
非常感谢弗雷德的热情介绍,也感谢大西洋理事会今天的盛情款待。

过去两年来,全球经济的走势受到了新冠病毒的影响以及我们为抗击疫情所做的努力。然而,如今俄罗斯与乌克兰之间的战争已经改变了世界经济前景的格局。弗拉基米尔·普京对乌克兰及其人民的无端攻击造成了巨大的人道灾难,生命惨遭蹂躏,家庭流离失所或沦为难民,社区和城市被毁。
...
"""

回复是这样的:

主题1:全球经济走势
- 受新冠病毒影响
- 抗击疫情的努力

主题2:俄罗斯与乌克兰战争
- 改变世界经济前景格局
- 造成人道灾难
- 生命受到影响,家庭流离失所或沦为难民
- 社区和城市被毁

小语GPT以规定的格式输出结论

关于这个场景和技巧想再解释一下为什么潜力很大。根据使用各种总结或者信息提取的产品发现,AI 并不知道什么是重点,所以在总结的过程中,会丢失很多内容。如何引导 AI 进行总结,就变得非常重要,且具有一定的可玩性。针对此场景的技巧:

使用此技巧可以使输出更结构化。比如针对一篇文章进行问答,你不仅想要得到一个答案,也希望 小语 GPT 的答案符合特定的格式,方便你下一步进行自动化。

比如问 "这里的债券期限是多少?" , 正常 GPT 模型的答案可能是 "债券期限是 4 年" 或 "期限 4 年"。 小语 GPT 的回答不稳定,且不方便继续处理。

解法: 我们可以通过这个技巧,让模型理解我们预期的格式。并在此基础上,为了方便自动化,让模型输出特定的结构化答案 (比如 JSON/Markdown 等)。 也可以方便集成更多的额外要求,比如增加一个"置信水平“,并通过提示语的形式指定这些数值的格式与甚至区间。

比如:

{上下文}
问题:这里提到的债券期限是什么?
答案模板(有效的JSON格式):
{{
"期限": $年度数值,
"置信水平":$答案置信水平为高、中或低,
}}
答案: