LOADING STUFF...

OpenAI 官方发布:GPT 最佳实践的中文版来了!

AI资讯9个月前更新 shuangyan
8 0

 

本文首发于【ChatGPT中文社区】:https://t.zsxq.com/0fvU0kAvf

本指南分享了如何从GPT获取更好结果的策略和技巧。这里描述的方法有时可以组合使用以达到更大的效果。我们鼓励大家进行试验,找到最适合自己的方法。

这里演示的一些例子目前只适用于我们最强大的模型,gpt-4。如果你还没有接触到gpt-4,可以考虑加入等待名单。一般来说,如果你发现一个GPT模型在某个任务上失败,而另一个更强大的模型可用,那么重新使用更强大的模型尝试往往是值得的。

获取更好结果的六种策略

1、写清晰的指令

GPT无法读取你的思绪。如果输出结果过长,可以请求简洁的回复。如果输出结果过简单,可以请求专家级的写作。如果你不喜欢输出的格式,可以演示你想看到的格式。GPT对你想要的内容猜测得越少,你得到它的可能性就越大。

策略:

  • 在查询中包含详细信息以获得更相关的答案
  • 让模型采用一个人格
  • 使用分隔符清晰地指示输入的不同部分
  • 明确完成任务所需的步骤
  • 提供示例
  • 明确输出的期望长度

 

2、提供参考文本

GPT可以自信地虚构答案,特别是当被问及冷门话题或要求引用和URLs时。就像一张笔记可以帮助学生在考试中取得更好的成绩一样,向GPT提供参考文本可以帮助它用更少的杜撰来回答问题。

策略:

  • 指导模型使用参考文本回答
  • 指导模型引用参考文本中的信息来回答

 

3、将复杂任务拆分为简单的子任务

正如在软件工程中将复杂系统分解为一系列模块化组件是好的实践一样,提交给GPT的任务也是如此。复杂的任务比简单的任务更容易出错。此外,复杂任务往往可以重新定义为一系列简单任务的工作流,其中早期任务的输出被用来构建后期任务的输入。

策略:

  • 使用意图分类来确定用户查询的最相关指令
  • 对需要很长对话的对话应用程序,对前面的对话进行总结或筛选
  • 分段总结长文档,并递归构建完整总结

 

4、给GPT“思考”的时间

如果要求你计算17乘以28,你可能不会立刻知道答案,但是你可以花时间算出来。同样,GPT在试图立刻回答而不是花时间算出答案时,会出现更多的推理错误。在答案之前要求一个推理链可以帮助GPT更可靠地推理出正确答案。

策略:

  • 指导模型在仓促得出结论前先自行找出解决方案
  • 使用内心独白或一系列查询来掩盖模型的推理过程
  • 询问模型在之前的遍历中是否遗漏了什么

 

5、使用外部工具

通过将其他工具的输出输入给GPT来弥补GPT的弱点。例如,一个文本检索系统可以告诉GPT有关的文档。一个代码执行引擎可以帮助GPT进行数学运算和运行代码。如果一个任务可以被一个工具而不是GPT更可靠或更有效地完成,那么把任务外包出去以获取两者的最佳效果。

策略:

  • 使用基于嵌入的搜索实现有效的知识检索
  • 使用代码执行来进行更精确的计算或调用外部API

 

6、系统性地测试改变

如果你能衡量性能,那么改进性能就更容易。在某些情况下,对提示的一次修改可能会在少数例子中提高性能,但在更具代表性的例子集上导致整体性能下降。因此,为了确定改变对性能的净效益,可能需要定义一个全面的测试套件(也称为”eval”)。

策略:

  • 根据标准答案评估模型输出

策略

上述每种策略都可以通过具体的策略来实例化。这些策略旨在提供一些值得尝试的想法。它们并不全面,你应该随意尝试这里没有提到的创新想法。

1、策略:写清晰的指令

策略:在你的查询中包含细节以获取更相关的答案

为了获得高度相关的回应,确保请求提供任何重要的细节或上下文。否则,你就把猜测你的意思的任务交给了模型。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:让模型采用一个角色

系统消息可以用来指定模型在回答时使用的角色。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:使用分隔符清晰地指示输入的不同部分

分隔符,如三引号、XML标签、章节标题等,可以帮助标识需要被不同对待的文本部分。

OpenAI 官方发布:GPT 最佳实践的中文版来了! OpenAI 官方发布:GPT 最佳实践的中文版来了! OpenAI 官方发布:GPT 最佳实践的中文版来了!

对于这些简单的任务,使用分隔符可能不会对输出质量产生影响。然而,任务越复杂,消除任务细节的歧义性就越重要。不要让GPT为理解你的确切要求而努力。

策略:指定完成任务所需的步骤

一些任务最好以一系列步骤的形式指定。明确写出步骤可以使模型更容易跟随。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:提供示例

提供适用于所有示例的通用指令通常比通过示例展示任务的所有排列更有效,但在某些情况下,提供示例可能更容易。例如,如果你希望模型复制一种特定的响应用户查询的方式,这种方式难以明确描述。这被称为”少数示例”提示。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:指定期望的输出长度

你可以要求模型产生给定目标长度的输出。目标输出长度可以用单词、句子、段落、要点等的计数来指定。然而,请注意,指示模型生成特定数量的单词的精度并不高。模型能更可靠地生成具有特定数量段落或要点的输出。

OpenAI 官方发布:GPT 最佳实践的中文版来了! OpenAI 官方发布:GPT 最佳实践的中文版来了! OpenAI 官方发布:GPT 最佳实践的中文版来了!

2、策略:提供参考文本

策略:指导模型使用参考文本回答

如果我们可以向模型提供与当前查询相关的可信信息,那么我们就可以指导模型使用提供的信息来组成其答案。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

鉴于GPT具有有限的上下文窗口,为了应用这个策略,我们需要一些动态查找与被问问题相关的信息的方法。嵌入可以用来实现有效的知识检索。请参阅”使用基于嵌入的搜索实现有效的知识检索”的策略,以了解如何实施这一点。

策略:指导模型使用来自参考文本的引文回答

如果输入已经被相关知识补充,那么直接要求模型通过引用提供的文档中的段落来增加其答案中的引用就变得很简单。请注意,输出中的引用可以通过在提供的文档中进行字符串匹配来编程验证。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

3、策略:将复杂任务分解为简单子任务

策略:使用意图分类来确定用户查询最相关的指示

对于需要大量独立指令集来处理不同情况的任务,首先对查询类型进行分类,并根据该分类确定所需指令可能是有益的。这可以通过定义固定类别和硬编码处理给定类别中的任务相关的指令来实现。此过程也可以递归应用以将任务分解为一系列阶段。这种方法的优点是,每个查询只包含执行任务下一阶段所需的指令,这可能导致相较于使用单个查询执行整个任务的错误率较低。由于更大的提示运行成本更高(参见价格信息),这也可能导致成本更低。

例如,对于一个客户服务应用,查询可以有用地分类如下:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

根据客户查询的分类,可以向GPT模型提供一组更具体的指示来处理下一步。例如,假设客户需要帮助进行“故障排除”。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

请注意,模型已被指示发出特殊字符串以表示对话状态的变化。这使我们能够将我们的系统转变为一种状态机,其中状态决定注入哪些指示。通过跟踪状态,了解在该状态下什么指示是相关的,以及从该状态允许什么样的状态转换,我们可以为用户体验设置保护措施,这在较少结构化的方法中难以实现。

策略:对于需要非常长对话的对话应用,总结或过滤之前的对话

由于GPT具有固定的上下文长度,用户和助手之间的对话中,如果整个对话都包含在上下文窗口中,对话不能无限进行。

解决此问题有多种方法,其中之一是总结对话的前几轮。一旦输入的大小达到预定的阈值长度,这可能会触发一个总结部分对话的查询,先前对话的总结可以作为系统消息的一部分。或者,先前的对话可以在整个对话期间在后台异步地进行总结。

另一种解决方案是动态选择与当前查询最相关的对话的前部分。参见策略”使用基于嵌入的搜索实现有效的知识检索”。

策略:分段总结长文档并递归构建完整摘要

由于GPT具有固定的上下文长度,它们不能用于在单个查询中总结长于上下文长度减去生成摘要长度的文本。

为了总结一本非常长的文档,如一本书,我们可以使用一系列查询来总结文档的每个部分。部分摘要可以被连接和总结,产生摘要的摘要。此过程可以递归进行,直到整个文档被总结。如果需要使用关于早期部分的信息才能理解后期部分,那么在总结该点内容时包括关于书中任何给定点之前的文本的运行摘要可能是有用的。OpenAI在使用GPT-3变体的先前研究中已经研究过这种程序对总结书籍的有效性。

4、策略:给GPT时间“思考”

策略:指示模型在急于得出结论之前先解决自己的解决方案

有时,当我们明确指示模型在得出结论之前首先从基本原理进行推理时,我们可以得到更好的结果。例如,我们想要一个模型来评估学生解决数学问题的解决方案。最明显的方法是简单地问模型学生的解决方案是否正确。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

但是学生的解决方案实际上是不正确的!我们可以通过提示模型首先生成自己的解决方案来使模型成功地注意到这一点。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:使用内心独白或一系列查询来隐藏模型的推理过程

前面的策略证明了在回答特定问题之前,模型有时需要详细推理问题。对于某些应用,模型用来得出最终答案的推理过程是不适合与用户共享的。例如,在辅导应用中,我们可能希望鼓励学生自己找出答案,但模型对学生解决方案的推理过程可能会向学生揭示答案。

内心独白是可以用来缓解这个问题的策略。内心独白的思想是指示模型将那些意味着要对用户隐藏的输出部分放入结构化的格式中,使解析它们变得容易。然后,在将输出呈现给用户之前,对输出进行解析,并且只让部分输出可见。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

或者,这可以通过一系列查询实现,其中除最后一个外,所有查询的输出都对最终用户隐藏。

首先,我们可以让模型自己解决问题。由于这个初始查询不需要学生的解决方案,所以可以省略它。这提供了额外的优点,即模型的解决方案不可能被学生的尝试解决方案所偏向。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

接下来,我们可以让模型使用所有可用的信息来评估学生解决方案的正确性。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

最后,我们可以让模型使用自己的分析来构建一个帮助老师的角色的回答。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

策略:询问模型是否在之前的过程中遗漏了任何东西

假设我们正在使用模型列出来自源的与特定问题相关的摘录。在列出每个摘录后,模型需要确定它是否应该开始写另一个摘录,还是应该停止。如果源文档很大,模型通常会过早停止,并且未能列出所有相关的摘录。在这种情况下,通常可以通过提示模型用后续查询找出它在之前的过程中遗漏的任何摘录,从而获得更好的性能。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

5、策略:使用外部工具

策略:使用嵌入式搜索实现高效的知识检索

如果模型的输入中包含外部信息源,模型可以利用这些信息。这可以帮助模型生成更具信息量和更及时的响应。例如,如果用户询问关于特定电影的问题,将有关电影的高质量信息(如演员、导演等)添加到模型的输入可能会很有用。嵌入式搜索可以用来实现高效的知识检索,因此可以在运行时动态地将相关信息添加到模型输入中。

文本嵌入是一种向量,可以衡量文本字符串之间的相关性。相似或相关的字符串会比无关的字符串更接近。这个事实,再加上存在快速向量搜索算法,意味着嵌入可以用于实现高效的知识检索。特别是,文本语料库可以分割成块,每个块可以被嵌入和存储。然后,给定的查询可以被嵌入,并执行向量搜索,找出语料库中与查询最相关的文本块(即,在嵌入空间中最接近的)。

OpenAI Cookbook中可以找到实例实现。参见策略“指示模型使用检索到的知识来回答查询”,了解如何使用知识检索来最小化模型编造错误事实的可能性。

策略:使用代码执行来进行更精确的计算或调用外部API

不能依赖GPT自己准确地进行算术或长时间的计算。在需要这种情况下,可以指示模型编写并运行代码,而不是进行自己的计算。特别是,可以指示模型将要运行的代码放入指定的格式,如三重反引号。产生输出后,可以提取并运行代码。最后,如果需要,可以将代码执行引擎(如Python解释器)的输出作为下一个查询的模型输入。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

调用外部API是执行代码的另一个好的用例。如果指示模型正确使用API,它可以编写使用API的代码。可以通过提供文档和/或代码示例来指示模型如何使用API。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

警告:执行模型生成的代码本身并不安全,任何试图执行代码的应用都应采取预防措施。特别是,需要沙箱化的代码执行环境来限制不可信代码可能造成的损害。

6、策略:系统地测试改变

有时候,我们很难判断某种改变——比如,新的指令或新的设计——是让你的系统变得更好还是更糟。通过查看几个示例可能会暗示哪种更好,但是在样本量小的情况下,很难区分真正的改进还是随机运气。也许改变在某些输入上提高了性能,但在其他输入上却降低了性能。

评估程序(或“评估”)在优化系统设计中非常有用。好的评估应该:

  • 代表真实世界的使用情况(或至少多样化)
  • 包含许多测试用例以获得更大的统计能力(请参阅下表中的指南)
  • 容易自动化或重复
OpenAI 官方发布:GPT 最佳实践的中文版来了!

输出的评估可以由计算机、人类或二者混合完成。计算机可以使用客观标准(例如,具有单一正确答案的问题)自动化评估,也可以使用一些主观或模糊标准,在这种情况下,模型的输出由其他模型的查询进行评估。OpenAI Evals是一个开源软件框架,提供了创建自动化评估的工具。

当存在一系列可能的输出,这些输出被认为质量相当高时(例如,对于有长答案的问题),基于模型的评估可能会有所帮助。能够用模型评估和需要人类评估之间的界限模糊不清,随着模型能力的提升,这个界限不断改变。我们鼓励进行实验,看看模型评估对你的用例是否有效。

策略:参考金标准答案评估模型输出

假设我们知道问题的正确答案应该引用一组特定的已知事实。那么我们可以使用模型查询来计算答案中包含了多少必要的事实。

例如,使用以下系统信息:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个满足两个要点的示例输入:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个只满足一个要点的示例输入:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个一个要点都不满足的示例输入:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这种基于模型的评估有许多可能的变种。考虑以下跟踪候选答案和金标准答案之间重叠类型的变种,同时也跟踪候选答案是否与金标准答案的任何部分矛盾。

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个示例输入,其中的答案尽管不达标,但并未与专家答案矛盾:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个示例输入,其中的答案直接与专家答案矛盾:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

这是一个示例输入,其中的答案是正确的,但也提供了比必要的更多细节:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

原文链接:

https://platform.openai.com/docs/guides/gpt-best-practices

最后推荐:ChatGPT 社区,正式上线

 

如果你想快速上手、熟练应用 ChatGPT,获取第一首关于 ChatGPT 的资料,利用 ChatGPT 提升工作效率,获取 ChatGPT 变现机会等。请务必加入知识星球:ChatGPT 中文社区

 

OpenAI 官方发布:GPT 最佳实践的中文版来了!

重点介绍一下,我们星球提供以下服务:

 

1、前沿资讯: ChatGPT 热点资讯和资源分享

2、专栏教程: ChatGPT 小白到进阶教程指南

3、应用案例: ChatGPT 各领域应用实操案例

4、答疑解惑: ChatGPT 常见问题及解决方案

5、副业指导: ChatGPT 副业项目及变现方法

额外福利: 

1、价值 999 元的 ChatGPT 教程资源。

2、不定期邀请嘉宾做 ChatGPT 专题分享。 

 

星球内部卧虎藏龙,有很多大牛,我敢肯定的是在星球里面,有技术能力与商业变现能力远在我之上的人存在。你只要加入了这个星球,未来这些也将成为你的资源!

 

我们第一期的定价是 299 元一年,这两天星球在试运营阶段,我们给出了加入的最低价 179,后面随着星球人数的增长,星球费用也会随之增长。建议大家尽早以便宜的价格加入哦!

感兴趣的朋友们,欢迎扫码加入本星球:

OpenAI 官方发布:GPT 最佳实践的中文版来了!

 

?点击阅读原文,即可加入星球!

© 版权声明

相关文章