GPT最佳实践-第一部分-清晰的指令

更新时间:2023/08/17, 09:57

OpenAI 官方已经公布了 GPT 的最佳使用实践,我们可以参考这些实践,以便更有效地使用 GPT。

以下是官方文档的翻译版本。需要注意的是,这些实践主要针对 API 接口的使用,而不是在网页版上的使用,主要关注的是系统指令。更多部分在这里

以下是一些说明:

  • 在调用 API 时,我们可以指定本次对话的角色。当角色设为 SYSTEM 时,这相当于设置 GPT;当角色设为 USER 时,这相当于用户的提问;当角色设为 ASSISTANT 时,这等同于 GPT 的回答。
  • "insert here" 是需要用户输入的地方。

这些策略可以应用于使用 API 构建的服务上。我们可以提前调试好 GPT,使 GPT 的回答更符合场景需求。

第一部分:清晰的指令

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

策略:在你的查询中包含详细信息以获得更相关的答案

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

较差的示例更好的示例
如何在 Excel 中添加数字?如何在 Excel 中添加一行美元金额?我希望这个过程能自动进行,对整个表格的行进行操作,所有的总计都在右边的一个名为 "Total" 的列中。
谁是总统?2021 年的墨西哥总统是谁,选举是多久举行一次?
编写计算斐波那契数列的代码。编写一个 TypeScript 函数来高效地计算斐波那契数列。对代码进行大量注释,解释每一部分的作用以及为什么这样编写。
总结会议记录。将会议记录总结为一段文字。然后写一个 markdown 列表,列出发言者及其关键点。最后,如果有的话,列出发言者建议的下一步行动或行动项目。

策略:提供示例

通常,提供适用于所有示例的通用指示比通过示例演示任务的所有排列更有效,但在某些情况下,提供示例可能更容易。例如,如果你打算让模型复制一种特定的响应用户查询的风格,这种风格很难明确地描述。这被称为"少示例"提示。

RoleDialogue
SYSTEMAnswer in a consistent style.
以一致的风格回答。
USERTeach me about patience.
教我关于耐心。
ASSISTANTThe river that carves the deepest valley flows from a modest spring; the grandest symphony originates from a single note; the most intricate tapestry begins with a solitary thread.
雕刻最深谷底的河流源于一个温和的泉眼;最宏大的交响乐源于一个单音;最复杂的挂毯开始于一根孤独的线。
USERTeach me about the ocean.
教我关于海洋。

OpenAI Playground 示例

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

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

RoleDialogue
SYSTEMWhen I ask for help to write something, you will reply with a document that contains at least one joke or playful comment in every paragraph.
当我请求帮助写作时,你将以每段至少包含一个笑话或俏皮评论的文档回复。
USERWrite a thank you note to my steel bolt vendor for getting the delivery in on time and in short notice. This made it possible for us to deliver an important order.
写一封感谢信给我的钢螺栓供应商,感谢他们及时并在短时间内完成了交货。这使我们能够完成一个重要的订单。

OpenAI Playground 示例

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

像三引号、XML 标签、章节标题等分隔符可以帮助标记需要以不同方式处理的文本部分。

RoleDialogue
USERSummarize the text delimited by triple quotes with a haiku.
"""insert text here"""
用一个俳句来总结三引号分隔的文本。
"""在这里插入文本"""

OpenAI Playground 示例

RoleDialogue
SYSTEMYou will be provided with a pair of articles (delimited with XML tags) about the same topic. First summarize the arguments of each article. Then indicate which of them makes a better argument and explain why.
你将得到一对关于同一主题的文章(用XML标签分隔)。首先总结每篇文章的论点。然后指出哪篇文章的论点更有说服力,并解释原因。
USER<article> insert first article here </article>
<article> 在这里插入第一篇文章 </article>
<article> insert second article here </article>
<article> 在这里插入第二篇文章 </article>

OpenAI Playground 示例

RoleDialogue
SYSTEMYou will be provided with a thesis abstract and a suggested title for it. The thesis title should give the reader a good idea of the topic of the thesis but should also be eye-catching. If the title does not meet these criteria, suggest 5 alternatives.
你将得到一个论文摘要和一个建议的标题。论文标题应该让读者对论文的主题有一个好的理解,但也应该引人注目。如果标题不符合这些标准,提出5个替代方案。
USERAbstract: insert abstract here
摘要:在这里插入摘要
Title: insert title here
标题:在这里插入标题

OpenAI Playground 示例

对于这样直接的任务,使用分隔符可能不会影响输出质量。然而,任务越复杂,消除任务细节的歧义就越重要。不要让GPT努力理解你到底在要求什么。

策略:明确指出完成任务所需的步骤

有些任务最好以一系列步骤的形式明确指出。明确写出步骤可以使模型更容易遵循它们。

RoleDialogue
SYSTEMUse the following step-by-step instructions to respond to user inputs.
使用以下逐步指示来响应用户输入。

Step 1 - The user will provide you with text in triple quotes. Summarize this text in one sentence with a prefix that says "Summary: ".
步骤1 - 用户将提供三引号中的文本。用前缀 "Summary: " 将这段文本总结为一句话。

Step 2 - Translate the summary from Step 1 into Spanish, with a prefix that says "Translation: ".
步骤2 - 将步骤1中的总结翻译成西班牙语,前缀为 "Translation: "。
USER"""insert text here"""
"""在这里插入文本"""

OpenAI Playground 示例

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

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

RoleDialogue
USERSummarize the text delimited by triple quotes in about 50 words.
"""insert text here"""
将三引号分隔的文本总结为大约50个单词。
"""在这里插入文本"""

OpenAI Playground 示例

RoleDialogue
USERSummarize the text delimited by triple quotes in 2 paragraphs.
"""insert text here"""
将三引号分隔的文本总结为2段。
"""在这里插入文本"""

OpenAI Playground 示例

RoleDialogue
USERSummarize the text delimited by triple quotes in 3 bullet points.
"""insert text here"""
将三引号分隔的文本总结为3个项目符号。
"""在这里插入文本"""

OpenAI Playground 示例

AI奇想空间
AI奇想空间
https://aimazing.site
AI惊奇站是一个汇聚人工智能工具、资源和教程的导航网站。 在这里,你可以发现最新的AI技术、工具和应用,学习如何使用各种AI平台和框架,获取丰富的AI资源。 欢迎广大AI爱好者加入我们的社区,开启你的AI之旅!
AI交流群
Copyright © 2024 AI奇想空间.微信