分享
教程:Open AI官方指南
输入“/”快速插入内容
教程:Open AI官方指南
用户7250
用户1986
用户9632
2024年7月31日修改
官方地址:
https://platform.openai.com/docs/guides/prompt-engineering
P
rompt设计
本指南分享从 GPT-4 等大型语言模型(有时称为 GPT 模型)获得更好结果的策略和策略
,
有时可以组合使用方法以获得更好的效果。
此处演示的一些示例目前仅适用于我们最强大的模型
gpt-4
.
一般来说,如果您发现某个模型在某项任务中失败,并且有一个功能更强大的模型可用,那么通常值得使用功能更强大的模型再次尝试。
获得更好结果的六项策略
写下清晰的指示
这些模型无法读懂你的想法。如果输出太长,请要求简短答复。如果输出太简单,请要求专家级别的写作。如果您不喜欢这种格式,请演示您希望看到的格式。模型猜测你想要什么的次数越少,你得到它的可能性就越大。
策略:
•
在您的查询中包含详细信息以获得更相关的答案
•
要求模特采用角色
•
使用分隔符清楚地指示输入的不同部分
•
指定完成任务所需的步骤
•
提供例子
•
指定所需的输出长度
提供参考文字
语言模型可以自信地发明假答案,特别是当被问及深奥的主题或引文和 URL 时。就像一张笔记可以帮助学生在考试中取得更好的成绩一样,为这些模型提供参考文本可以帮助减少作答次数。
策略:
•
指示模型使用参考文本回答
•
指示模型通过引用参考文本来回答
将复杂的任务拆分为更简单的子任务
正如软件工程中将复杂系统分解为一组模块化组件是良好实践一样,提交给语言模型的任务也是如此。复杂的任务往往比简单的任务具有更高的错误率。此外,复杂的任务通常可以被重新定义为更简单任务的工作流程,其中早期任务的输出用于构造后续任务的输入。
策略:
•
使用意图分类来识别与用户查询最相关的指令
•
对于需要很长对话的对话应用,总结或过滤以前的对话
•
分段总结长文档并递归构建完整摘要
给模型时间“思考”
如果要求将 17 乘以 28,您可能不会立即知道,但随着时间的推移仍然可以算出来。同样,模型在尝试立即回答而不是花时间找出答案时会犯更多推理错误。在给出答案之前询问“思路链”可以帮助模型更可靠地推理出正确答案。
策略:
•
指示模型在急于得出结论之前找出自己的解决方案
•
使用内心独白或一系列查询来隐藏模型的推理过程
•
询问模型在之前的过程中是否遗漏了任何内容
使用外部工具
通过向模型提供其他工具的输出来弥补模型的弱点。例如,文本检索系统(有时称为 RAG 或检索增强生成)可以告诉模型相关文档。像 OpenAI 的代码解释器这样的代码执行引擎可以帮助模型进行数学运算并运行代码。如果一项任务可以通过工具而不是语言模型更可靠或更有效地完成,那么可以卸载它以充分利用两者。
策略:
•
使用基于嵌入的搜索实现高效的知识检索
•
使用代码执行来执行更准确的计算或调用外部API
•
授予模型访问特定功能的权限
系统地测试变更
如果您可以衡量性能,那么提高性能就会更容易。在某些情况下,对提示的修改将在一些孤立的示例上实现更好的性能,但会导致在一组更具代表性的示例上整体性能变差。因此,为了确保更改对性能产生净积极影响,可能有必要定义一个全面的测试套件(也称为“评估”)。
战术:
•
参考黄金标准答案评估模型输出
策略
上面列出的每个策略都可以用特定的策略来实例化。这些策略旨在提供尝试的想法。它们绝不是完全全面的,您应该随意尝试此处未列出的创意。
策略:写下清晰的说明
策略:在查询中包含详细信息以获得更相关的答案
为了获得高度相关的响应,请确保请求提供任何重要的详细信息或上下文。否则,你将让模型来猜测你的意思。