社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

ChatGPT官方出品《GPT提问最佳实践》

软件定义世界(SDX) • 2 年前 • 1149 次点击  

热门下载(点击标题即可阅读全文)

【PPT下载】2023中国企业数字化转型最佳实践案例高层论坛精彩PPT下载(共计15个文件)

【PPT下载】中国数据分析师行业峰会精彩PPT下载(共计21个文件)

数字化转型的指南针、大数据思想的策源地、创业者和VC的桥梁、政府和企业家的智库、从业者的加油站!欢迎订阅,与12万睿智者同行。

数字化转型专题:

【战略】企业数字化转型战略完整指南

【PPT】《数字化转型工作手册》
【战略】普华永道:企业如何进行数字化战略转型
【路径】数字化转型知识:架构、价值及路径
【能力】一文读懂企业数字化转型能力框架
【报告】《企业数字化升级之路——百家企业数字化转型发展分析报告》
【本源】数字化转型的本质(10个关键词)

【教训】麦肯锡:企业数字化转型失败率高达80%
【中台】数据中台唱衰,企业数字化转型路在何方?(上、下)
【金融】中国商业银行数字化转型调查报告
【人才】数字化转型中的人才技能重建
【组织】传统企业数字化部门在数字化转型中的重要性及参考设置
【PPT】指标驱动,数据优先、工业数字化转型的经验分享
【华为】华为的字化转型方法论

【华为】 华为数字化转型中的数据治理实践[]

【PPT】《华为数据之道》读书笔记

【PPT】《华为数字化转型之道》读书笔记

【案例】国资委:国有企业数字化转型百大典型案例

【困境】国企数字化转型六大困境+原因剖析+典型事件

【路径】2021国有企业数字化转型发展指数与方法路径白皮书

【工业】56万台卡特彼勒设备如何实现“卡特智能”?数字化转型对中国工业互联网的启示

【PPT】《2021中国企业数字化转型路径实践研究报告》

【策略】再论数字化转型-转什么,如何转?
【调研】红杉中国:2022企业数字化指南(附:2022版/2021版下载).

【美的专辑】

【美的1】方洪波:美的的数字化转型实践
【美的2】美的:100亿,数字化转型路径与实践

【美的3】美的集团数字化历程与经验总结(2020年)

【美的4】【PPT】美的从“制造”到“智造”的数字化转型之路



延伸阅读:
【指南】❶如何向ChatGPT提问并获得高质量的答案——提示技术的完整指南

【原理】130页 PPT 深入浅出了解 ChatGPT —— ChatGPT 从 0 到 1
【调研】ChatGPT调研报告(2023)
【观点】比尔盖茨:1980年后,ChatGPT是我见到最具革命性的技术

【观点】❺吴军:ChatGPT不算新技术革命,带不来什么新机会

【细节】❻OpenAI首席科学家揭密GPT探索过程中不为人知的技术细节
【报告】❼从CHAT_GPT到生成式AI(Generative AI):人工智能新范式,重新定义生产力@中信建投
【报告】❽ChatGPT发展历程、原理、技术架构详解和产业未来
【报告】❾ChatGPT背后的核心技术

【报告】❿【PPT】ChatGPT研究框架@国泰君安

【报告】⓫2000亿元ChatGPT团队背景,快跟着学选大学、选专业

SDX数说新语:


【Google时代】

❶青铜用户:1个关键词(用户使用谷歌搜索时平均用的关键词数量);

❷白银用户:2~3个关键词;

❸钻石用户:4~5个关键词;

❹王者用户:6个关键词以上。


【ChatGPT时代】

如何用好ChatGPT,同样分为不同的段位。

比如,孩子的作业不会做了,问家长的时候:

❶青铜用户:这道问题如何解?

❷白银用户:这道问题如何解?举一个类似题目的案例,并提供答案(强化训练孩子);

❸钻石用户:这道问题如何解?这道问题涉及哪些关键的知识点?举一个类似题目的案例,并提供答案(从知识点根本解决这类问题,教会孩子能够举一反三,彻底解决知识盲点,触类旁通);

❹王者用户:有点类似以下故事中的Dr. Ethan Mollick and Dr. Lilach Mollick of Wharton Business School。


     ChatGPT刚出来时,多所大学和教授都将ChatGPT视为洪水猛兽,强烈禁止,因为同学们用ChatGPT做作业,轻而易举就能获得A。后来发现根本封堵不住,同学们还是用各种方式做作业。Dr. Ethan Mollick and Dr. Lilach Mollick of Wharton Business School决定采用疏导的方式,要求所有的学生必须用ChatGPT或者其他人工智能工具,但必须遵从以下三个规则:


❶写明如何发号指令让ChatGPT工作的(让老师能看到你思考的过程;让学生善用工具,训练自己的能力,完成从青铜到王者的跃迁);

❷辨析ChatGPT提供答案正确与否,有自己的观点;通过辨析,提升自己的判断力,而不能盲目信任ChatGPT的结果(培养学生独立思考的能力);

❸要有声明,如何使用人工智能来完成这道题的(培养学生的学术规范,学生学会如何旁征博引,信源可靠、方法科学、逻辑严谨)。

结果发现,同学们提供的作业成果质量明显高于以往。


希望各位,详细阅读价值15美元的如何向ChatGPT提问并获得高质量的答案——提示技术的完整指南(点击红字即可)并实践之后,能将自己从青铜到王者的跃迁。


备注:

通过分析3.06亿个Google搜索关键词的有趣发现: 

❶关键词平均数量为1.9个单词;

❷短关键词(1-3个单词之间)比长关键词(5+ 个单词)多10倍的搜索量(多关键词更精准、效率更高);

❸一个典型的关键词的 Google Ads CPC 为0.61美元。

by 陈新河


为了用户更好的应用GPT-4,最近OpenAI官方亲自下手,推出了《GPT最佳实践》。并且官方鼓励大家进行实验,找到合适自己的方法。


之前也公众号分享过包括吴恩达博士在内的众多关于Prompt的教程,大家对这一块有兴趣的的话可以翻翻之前的教程。这些教程有很多相通的地方,从不同的角度去学习,理解的也会更深刻。


如果英文不错的小伙伴,可以去读英文原版(全文翻译见文后)。


网址:https://platform.openai.com/docs/guides/gpt-best-practices/six-strategies-for-getting-better-results


OpenAI官方的意思,要想写好Prompt,核心就只有六个策略:


1、描述清楚你想要的

如果描述的不够清楚,GPT 可能无法读懂您的想法。


如果你希望得到简洁的回答,就要求GPT给出简洁的回答。如果你希望它给出更专业的回答,那就要求它以专家的身分来回答。如果你想输出指定的格式,那就指定格式,或者给出示例给他看。你给出的要求越明确,它就越有可能给出符合你预期的答案。


策略:

  • 在您的问题中包含详细信息以获得更相关的答案

  • 要求模型采用指定角色

  • 使用分隔符清楚地指示输入的不同部分

  • 指定完成任务所需的步骤

  • 提供示例

  • 指定所需的输出长度


2、提供参考文本


GPT 可能会自信地给出错误答案,特别是在被问及难题或引用和网址时。像考试时有参考资料的学生一样,向GPT提供参考文本可以帮助模型减少给出错误答案的概率。


策略:

  • 指示模型使用参考文本回答

  • 指示模型使用参考文本中的引用进行回答


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


正如软件工程中的良好做法是将复杂系统分解为一组模块化组件一样,提交给 GPT 的任务也是如此。


 复杂任务往往比简单任务具有更高的错误率。此外,复杂任务通常可以重新定义为简单任务的工作流,其中早期任务的输出用于构造后续任务的输入。


策略:

  • 使用意向分类确定与用户查询最相关的说明

  • 对于需要很长对话的应用程序,请汇总或筛选以前的对话

  • 分段汇总长文档,递归构建完整摘要


4、给 GPT 时间“思考”


如果有人问你17*28的答案,您可能不会立即给出答案,但仍然可以花时间计算出来。


同样,GPT 在尝试立即回答时会犯更多的推理错误,而不是花时间找出答案。在回答之前要求一系列推理可以帮助 GPT 更可靠地推理正确答案。


策略:


  • 指示模型在匆忙得出结论之前制定自己的解决方案

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

  • 询问模型在以前的传递中是否遗漏了任何内容


5、使用外部工具


通过将其它工具的输出尝试投喂给GPT,可以有效弥补模型的弱点。


例如,文本检索系统可以将相关文档告知 GPT。


代码执行引擎可以帮助 GPT 进行数学运算和运行代码。


如果一项任务可以通过工具可以更可靠或更有效地完成,而不是GPT,请卸载它以充分利用两者。


策略:

  • 使用基于嵌入的搜索实现高效的知识检索

  • 使用代码执行更准确的计算或调用外部 API


6、系统地测试更改


如果你知道怎么评估性能,则提高性能会更容易。


在某些情况下,对提示的修改将在几个孤立的示例中实现更好的性能,但在更具代表性的一组示例上会导致整体性能变差。


因此,要确保更改对性能产生积极影响,可能有必要定义一个综合测试套件(也称为“评估”)。


策略:

  • 参考黄金标准答案评估模型输出


限于篇幅,没有一一举例详细说明。大多数情况在之前的教程中都有所提及,并给出过示例。有意向的小伙伴可以自行翻看。


我想说的是,想要更好更高效的使用GPT,还是要根据自己的业务,有目的性的多用GPT ,正如OpenAI官方人员提出的那样,多进行实验,最终找到适合自己的方式。


全文翻译如下:


GPT提问最佳实践


本指南分享了从 GPT 获得更好结果的策略和战术。有时可以结合使用此处描述的方法以获得更大的效果。我们鼓励进行实验以找到最适合您的方法。

此处演示的一些示例目前仅适用于我们功能最强大的模型gpt-4. 如果您还没有访问权限,gpt-4请考虑加入候补名单。一般来说,如果您发现 GPT 模型在某项任务中失败并且有更强大的模型可用,通常值得再次尝试使用更强大的模型。


获得更好结果的六种策略



写清楚说明


GPT 无法读懂您的想法。如果输出太长,要求简短的答复。如果输出太简单,请要求专家级的写作。如果您不喜欢这种格式,请展示您希望看到的格式。GPT 对您想要什么的猜测越少,您获得它的可能性就越大。

策略:

  • 在您的查询中包含详细信息以获得更相关的答案

  • 要求模特采用角色

  • 使用定界符清楚地指示输入的不同部分

  • 指定完成任务所需的步骤

  • 提供例子

  • 指定所需的输出长度



提供参考文本


GPT 可以自信地编造假答案,尤其是当被问及深奥的话题或引用和 URL 时。就像一张笔记可以帮助学生在考试中取得更好的成绩一样,为 GPT 提供参考文本可以帮助以更少的捏造来回答。

策略:

  • 指示模型使用参考文本回答

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


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


正如在软件工程中将复杂系统分解为一组模块化组件是一种很好的做法一样,提交给 GPT 的任务也是如此。复杂的任务往往比简单的任务有更高的错误率。此外,复杂的任务通常可以重新定义为更简单任务的工作流,其中早期任务的输出用于构建后续任务的输入。

策略:

  • 使用意图分类来识别与用户查询最相关的指令

  • 对于需要很长对话的对话应用,总结或过滤之前的对话

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


给 GPT 时间“思考”


如果要求将 17 乘以 28,您可能不会立即知道,但随着时间的推移仍然可以计算出来。同样,GPT 在试图立即回答而不是花时间找出答案时会犯更多的推理错误。在回答之前询问一系列推理可以帮助 GPT 更可靠地推理出正确答案。

策略:

  • 在匆忙下结论之前指示模型制定出自己的解决方案

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

  • 询问模型是否遗漏了之前传递的任何内容


使用外部工具


通过为 GPT 提供其他工具的输出来弥补它们的弱点。例如,文本检索系统可以将相关文档告知 GPT。代码执行引擎可以帮助 GPT 进行数学运算和运行代码。如果一项任务可以通过工具而不是 GPT 更可靠或更有效地完成,请卸载它以充分利用两者。

策略:

  • 使用基于嵌入的搜索来实现高效的知识检索

  • 使用代码执行来执行更准确的计算或调用外部 API


系统地测试更改


如果可以衡量,提高绩效会更容易。在某些情况下,对提示的修改会在一些孤立的示例上获得更好的性能,但会导致在更具代表性的示例集上的整体性能变差。因此,为确保更改对性能产生积极影响,可能有必要定义一个综合测试套件(也称为“评估”)。

策略:

  • 参考黄金标准答案评估模型输出


策略


上面列出的每个策略都可以用特定的策略来实例化。这些策略旨在为尝试的事情提供想法。它们绝不是全面的,您可以随意尝试此处未展示的创意。


策略:写清楚的说明



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


为了获得高度相关的响应,请确保请求提供任何重要的细节或上下文。否则,您将把它留给模型来猜测您的意思。



更差更好的
如何在 Excel 中添加数字?如何在 Excel 中将一行美元金额相加?我想对整张行自动执行此操作,所有总计都在右侧的名为“总计”的列中结束。
谁是总统?谁是 2021 年的墨西哥总统,选举的频率如何?
编写代码来计算斐波那契数列。编写一个 TypeScript 函数来高效地计算斐波那契数列。自由地评论代码以解释每一部分的作用以及为什么这样写。
总结会议记录。在一个段落中总结会议记录。然后写下演讲者的降价清单和他们的每个要点。最后,列出演讲者建议的后续步骤或行动项目(如果有)。


策略:让模特采用角色


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

系统

当我请求帮助写东西时,你会回复一份文档,每个段落至少包含一个笑话或俏皮的评论。

用户

给我的钢螺栓供应商写一封感谢信,感谢他在短时间内准时交货。这使我们能够交付重要订单。

在操场上打开


策略:使用定界符清楚地指示输入的不同部分


三重引号、XML 标记、章节标题等分隔符可以帮助区分要区别对待的文本部分。

用户

用俳句总结由三重引号分隔的文本。"""在此插入文本"""

在操场上打开

系统

您将获得一对关于同一主题的文章(用 XML 标记分隔)。先总结一下每篇文章的论点。然后指出他们中的哪一个提出了更好的论点并解释原因。

用户

在这里插入第一篇文章
在这里插入第二篇文章

在操场上打开

系统

您将获得论文摘要和建议的标题。论文标题应该让读者对论文的主题有一个很好的了解,但也应该引人注目。如果标题不符合这些标准,建议 5 个备选方案。

用户

摘要:此处插入摘要标题:此处插入标题

在操场上打开

对于诸如此类的简单任务,使用定界符可能不会对输出质量产生影响。然而,任务越复杂,消除任务细节的歧义就越重要。不要让 GPT 工作以准确理解您对它们的要求。


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


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

系统

使用以下分步说明响应用户输入。第 1 步 - 用户将用三重引号为您提供文本。在一个句子中总结这段文字,并加上一个前缀“Summary:”。第 2 步 - 将第 1 步中的摘要翻译成西班牙语,并加上前缀“Translation:”。

用户

"""在此插入文本"""

在操场上打开


策略:提供示例


提供适用于所有示例的一般说明通常比通过示例演示任务的所有排列更有效,但在某些情况下提供示例可能更容易。例如,如果您打算让模型复制一种难以明确描述的特定样式来响应用户查询。这被称为“少量”提示。

系统

以一致的风格回答。

用户

教我耐心。

助手

开辟最深山谷的河流从温和的泉水流出;最伟大的交响乐源于一个音符;最复杂的挂毯始于一根单独的线。

用户

教我认识海洋。

在操场上打开


策略:指定输出的所需长度


您可以要求模型生成具有给定目标长度的输出。目标输出长度可以根据单词、句子、段落、要点等的计数来指定。但是请注意,指示模型生成特定数量的单词并不能实现高精度。该模型可以更可靠地生成具有特定数量的段落或要点的输出。

用户

用大约 50 个单词总结由三重引号分隔的文本。"""在此插入文本"""

在操场上打开

用户

在 2 个段落中总结由三重引号分隔的文本。"""在此插入文本"""

在操场上打开

用户

在 3 个要点中总结由三重引号分隔的文本。"""在此插入文本"""

在操场上打开


策略:提供参考文本



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


如果我们可以为模型提供与当前查询相关的可信信息,那么我们可以指示模型使用提供的信息来编写其答案。

系统

使用由三重引号分隔的提供的文章来回答问题。如果在文章中找不到答案,写“我找不到答案”。

用户

问题:

在操场上打开

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


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


如果输入已补充相关知识,则可以直接要求模型通过引用所提供文档中的段落来为其答案添加引文。请注意,输出中的引用可以通过提供的文档中的字符串匹配以编程方式进行验证。

系统

您将获得一份由三重引号和一个问题分隔的文件。您的任务是仅使用提供的文件回答问题,并引用用于回答问题的文件中的段落。如果文档不包含回答此问题所需的信息,则只需写上:“信息不足”。如果提供了问题的答案,则必须用引文进行注释。使用以下格式引用相关段落 ({"citation": …})。

用户

"""""" 问题:

在操场上打开


策略:将复杂任务拆分为更简单的子任务



策略:使用意图分类来识别与用户查询最相关的指令


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

例如,假设对于客户服务应用程序,可以将查询分类如下:

系统

您将收到客户服务查询。将每个查询分为主要类别和次要类别。以 json 格式提供带有键的输出:primary 和 secondary。主要类别:计费、技术支持、账户管理或一般查询。计费次要类别:- 取消订阅或升级 - 添加付款方式 - 收费说明 - 对收费提出异议 技术支持次要类别:- 故障排除 - 设备兼容性 - 软件更新 账户管理次要类别:- 密码重置 - 更新个人信息 - 关闭帐户 -帐户安全 一般查询二级类别:- 产品信息 - 定价 - 反馈 - 与人交谈

用户

我需要让我的互联网重新工作。

在操场上打开

基于客户查询的分类,可以向 GPT 模型提供一组更具体的指令来处理后续步骤。例如,假设客户需要“故障排除”方面的帮助。

系统

您将收到需要在技术支持环境中进行故障排除的客户服务查询。通过以下方式帮助用户:- 要求他们检查所有进出路由器的电缆是否已连接。请注意,电缆随时间松动是很常见的。- 如果所有电缆都已连接但问题仍然存在,请询问他们使用的是哪种路由器型号 - 现在您将建议他们如何重新启动他们的设备:-- 如果型号是 MTD-327J,建议他们按下红色按钮并按住它 5 秒钟,然后等待 5 分钟,然后再测试连接。-- 如果型号是 MTD-327S,建议他们拔下并重新插入,然后等待 5 分钟,然后再测试连接。- 如果客户的问题在重启设备并等待 5 分钟后仍然存在,请通过输出 {"IT support requested"} 将他们连接到 IT 支持。

用户

我需要让我的互联网重新工作。

在操场上打开

请注意,已指示模型发出特殊字符串以指示对话状态何时发生变化。这使我们能够将我们的系统变成一个状态机,其中状态决定注入哪些指令。通过跟踪状态,哪些指令与该状态相关,以及可选地允许从该状态进行哪些状态转换,我们可以为用户体验设置护栏,而这很难通过结构化程度较低的方法实现。


Tactic:对于需要很长对话的对话应用,总结或过滤之前的对话


由于 GPT 具有固定的上下文长度,因此整个对话都包含在上下文窗口中的用户和助手之间的对话不能无限期地继续。

这个问题有多种解决方法,其中之一是总结对话中的先前回合。一旦输入的大小达到预定的阈值长度,这可能会触发一个查询,该查询总结了部分对话,并且先前对话的摘要可以作为系统消息的一部分包含在内。或者,可以在整个对话过程中在后台异步总结先前的对话。

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


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


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

要总结一个非常长的文档,例如一本书,我们可以使用一系列查询来总结文档的每个部分。节摘要可以被连接和总结生成摘要的摘要。这个过程可以递归地进行,直到总结了整个文档。如果有必要使用有关前面部分的信息来理解后面的部分,那么另一个有用的技巧是在书中任何给定点之前包括文本的连续摘要,同时总结该点的内容。OpenAI在之前的研究中使用 GPT-3 的变体研究了这种用于总结书籍的程序的有效性。


策略:给 GPT 时间“思考”



策略:在匆忙下结论之前,指示模型自己制定解决方案


有时,当我们明确指示模型在得出结论之前根据第一原则进行推理时,我们会得到更好的结果。例如,假设我们想要一个模型来评估学生对数学问题的解决方案。解决这个问题的最明显方法是简单地询问模型学生的解决方案是否正确。

系统

判断学生的答案是否正确。

用户

问题陈述:我正在建造一个太阳能装置,我需要帮助来计算财务。- 土地成本 100 美元/平方英尺 - 我可以以 250 美元/平方英尺的价格购买太阳能电池板 - 我协商了一份维护合同,每年将花费我 10 万美元,外加 10 美元/平方英尺 的总成本是多少第一年的运营作为平方英尺数的函数。学生的解答:令 x 为以平方英尺为单位的安装尺寸。1.土地成本:100x 2.太阳能电池板成本:250x 3.维护成本:100,000 + 100x 总成本:100x + 250x + 100,000 + 100x = 450x + 100,000

助手

这位同学的答案是正确的。

在操场上打开

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

系统

首先想出你自己解决问题的办法。然后将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。在您自己完成问题之前,不要判断学生的解决方案是否正确。

用户

问题陈述:我正在建造一个太阳能装置,我需要帮助来计算财务。- 土地成本 100 美元/平方英尺 - 我可以以 250 美元/平方英尺的价格购买太阳能电池板 - 我协商了一份维护合同,每年将花费我 10 万美元,外加 10 美元/平方英尺 的总成本是多少第一年的运营作为平方英尺数的函数。学生的解答:令 x 为以平方英尺为单位的安装尺寸。1.土地成本:100x 2.太阳能电池板成本:250x 3.维护成本:100,000 + 100x 总成本:100x + 250x + 100,000 + 100x = 450x + 100,000

助手

设 x 是以平方英尺为单位的安装尺寸。1.土地成本:100x 2.太阳能电池板成本:250x 3.维护成本:100,000 + 10x 总成本:100x + 250x + 100,000 + 10x = 360x + 100,000 学生的答案是错误的。他们在维护成本计算中犯了一个错误,使用 100x 而不是 10x。第一年运营的正确总成本是 360x + 100,000。

在操场上打开


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


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

内心独白是一种可以用来缓解这种情况的策略。内心独白的想法是指示模型将本应对用户隐藏的输出部分放入结构化格式中,以便于解析它们。然后在将输出呈现给用户之前,对输出进行解析并仅使部分输出可见。

系统

按照以下步骤回答用户查询。第 1 步 - 首先找出您自己的问题解决方案。不要依赖学生的解决方案,因为它可能不正确。用三引号 (""") 将此步骤的所有作业括起来。第 2 步 - 将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。将此步骤的所有作业用三引号 ("") 括起来”)。第 3 步 - 如果学生犯了错误,请确定您可以在不给出答案的情况下给学生什么提示。将此步骤的所有工作用三重引号 (""") 括起来。第 4 步 - 如果学生犯了错误,请向学生提供上一步的提示(在三重引号之外)。而不是写“第 4 步 - ...”写“提示:”。

用户

问题陈述: 学生解决方案:

在操场上打开

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

首先,我们可以让模型自己解决问题。由于此初始查询不需要学生的解决方案,因此可以省略。这提供了额外的优势,即模型的解决方案不会因学生尝试的解决方案而产生偏差。

用户

在操场上打开

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

系统

将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。

用户

问题陈述:"""""" 您的解决方案:"""""" 学生的解决方案:""""""

在操场上打开

最后,我们可以让模型使用自己的分析来构建一个乐于助人的导师角色的回复。

系统

你是数学老师。如果学生犯了错误,请以不透露答案的方式向学生提供提示。如果学生没有犯错,只需给他们一个鼓励的评论。

用户

问题陈述:"""""" 您的解决方案:"""""" 学生的解决方案:"""""" 分析:""""""

在操场上打开


策略:询问模型是否遗漏了之前传递的任何内容


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

系统

您将获得一份由三重引号分隔的文件。你的任务是选择与以下问题相关的摘录:“人工智能历史上发生了哪些重大的范式转变。” 确保摘录包含解释它们所需的所有相关上下文——换句话说,不要提取缺少重要上下文的小片段。以 JSON 格式提供输出,如下所示:[{"excerpt": "..."}, ... {"excerpt": "..."}]

用户

""""""

助手

[{“摘录”:“模型在这里写了一个摘录”},... {“摘录”:“模型在这里写了另一个摘录”}]

用户

有更多相关的摘录吗?注意不要重复摘录。还要确保摘录包含解释它们所需的所有相关上下文——换句话说,不要提取缺少重要上下文的小片段。

在操场上打开


策略:使用外部工具



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


如果作为输入的一部分提供,模型可以利用外部信息源。这可以帮助模型生成更明智和最新的响应。例如,如果用户询问有关特定电影的问题,将有关电影的高质量信息(例如演员、导演等)添加到模型的输入中可能会很有用。嵌入可用于实现高效的知识检索,以便在运行时将相关信息动态添加到模型输入中。

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

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


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


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

系统

您可以通过用三重反引号将其括起来来编写和执行 Python 代码,例如,```code goes here```。使用它来执行计算。

用户

找出以下多项式的所有实值根:3*x**5 - 5*x**4 - 3*x**3 - 7*x - 10。

在操场上打开

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

系统

您可以通过用三重反引号括起来来编写和执行 Python 代码。另请注意,您可以访问以下模块以帮助用户向他们的朋友发送消息:```python import message message.write(to="John", message="嘿,下班后想见面吗?")`` `

在操场上打开

警告:执行模型生成的代码本身并不安全,任何试图执行此操作的应用程序都应采取预防措施。特别是,需要一个沙盒代码执行环境来限制不受信任的代码可能造成的危害。


策略:系统地测试变化


有时很难判断更改(例如,新指令或新设计)是否会使您的系统变得更好或更糟。查看几个示例可能会暗示哪个更好,但是样本量较小时,很难区分真正的改进还是随机的运气。也许这种变化有助于某些输入的性能,但会损害其他输入的性能。

评估程序(或“evals”)对于优化系统设计很有用。好的评价是:

  • 代表现实世界的使用(或至少是多样化的)

  • 包含许多测试用例以获得更大的统计能力(有关指南,请参见下表)

  • 易于自动化或重复

要检测的差异 95% 置信度所需的样本量
30%~10
10%~100
3%~1,000
1%~10,000

输出的评估可以由计算机、人类或混合来完成。计算机可以使用客观标准(例如,具有单一正确答案的问题)以及一些主观或模糊标准来自动评估,其中模型输出由其他模型查询评估。OpenAI Evals是一个开源软件框架,提供用于创建自动评估的工具。

当存在一系列可能被认为质量相同的输出时(例如,对于答案很长的问题),基于模型的评估可能很有用。使用基于模型的评估可以实际评估的内容与需要人工评估的内容之间的界限是模糊的,并且随着模型变得更强大而不断变化。我们鼓励通过实验来弄清楚基于模型的评估对您的用例的适用程度。


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


假设已知问题的正确答案应该参考一组特定的已知事实。然后我们可以使用模型查询来计算答案中包含了多少所需事实。

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

系统

您将获得由三重引号分隔的文本,这些文本应该是问题的答案。检查以下信息是否直接包含在答案中:- Neil Armstrong 是第一个在月球上行走的人。- 尼尔·阿姆斯特朗首次踏上月球的日期是 1969 年 7 月 21 日。对于这些要点中的每一个,请执行以下步骤:1 - 重申要点。2 - 引用最接近这一点的答案。3 - 考虑阅读引文但不了解主题的人是否可以直接推断出这一点。在下定决心之前解释为什么或为什么不。4 - 如果对 3 的回答是“是”,则写“是”,否则写“否”。最后,提供有多少个“是”答案的计数。将此计数提供为 {"count": }。

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

系统

用户

"""尼尔阿姆斯特朗因成为第一个踏上月球的人类而闻名。这一历史性事件发生在 1969 年 7 月 21 日,阿波罗 11 号任务期间。"""

在操场上打开

这是一个示例输入,其中只有一个点得到满足:

系统

用户

"""尼尔·阿姆斯特朗走下登月舱,创造了历史,成为第一个踏上月球的人。"""

在操场上打开

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

系统

用户

"""在 69 年的夏天,阿波罗 11 号的宏伟航行,像传说中的手一样大胆。阿姆斯特朗迈出了一步,历史展开了,"一小步,"他说,为了一个新世界。"""

在操场上打开

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

系统

使用以下步骤响应用户输入。在继续之前完全重述每个步骤。即“第 1 步:原因……”。第 1 步:逐步推理提交的答案中的信息与专家答案相比是否是:不相交、相等、子集、超集或重叠(即一些交集但不是子集/超集)。第 2 步:逐步推理提交的答案是否与专家答案的任何方面相矛盾。第 3 步:输出结构如下的 JSON 对象:{"type_of_overlap": "disjoint" or "equal" or "subset" or "superset" or "overlapping", "contradiction": true or false}

这是一个带有不合标准答案的示例输入,但与专家答案并不矛盾:

系统

用户

问题:“”“尼尔·阿姆斯特朗最著名的事件是什么?它发生在什么日期?假定 UTC 时间。”””提交的答案:“”“他不是在月球上行走吗?”“”专家回答: """尼尔·阿姆斯特朗最著名的是他是第一个在月球上行走的人。这一历史性事件发生在 1969 年 7 月 21 日。"""

在操场上打开

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

系统

用户

问题:“”“尼尔·阿姆斯特朗最著名的事件是什么?它发生在什么日期?假定 UTC 时间。”””提交的答案:“”“1969 年 7 月 21 日,尼尔·阿姆斯特朗成为第二个走上这条路的人登月,继巴兹奥尔德林之后。""" 专家回答:"""尼尔阿姆斯特朗最著名的是他是第一个登上月球的人。这一历史性事件发生在 1969 年 7 月 21 日。"""

在操场上打开

这是一个带有正确答案的示例输入,它还提供了比必要的更多的细节:

系统

用户

问题:“”“尼尔阿姆斯特朗最著名的事件是什么?它发生在什么日期?假定 UTC 时间。”“”提交的答案:“”“在 1969 年 7 月 21 日大约 02:56 UTC,尼尔阿姆斯特朗成为第一个人类踏上月球表面,标志着人类历史上的巨大成就。""" 专家解答:"""尼尔·阿姆斯特朗最著名的是他是第一个在月球上行走的人。这一历史性事件发生在 7 月 21 日, 1969."""

在操场上打开


其他资源


如需更多灵感,请访问OpenAI Cookbook,其中包含示例代码以及指向第三方资源的链接,例如:

  • 提示库和工具

  • 提示指南

  • 视频课程

  • 关于改进推理的高级提示的论文





读大数据应用最佳实践案例,赢数字经济未来!

18个行业,106个中国大数据应用最佳实践案例:

(1)《赢在大数据:中国大数据发展蓝皮书》;

免费试读:https://item.jd.com/12058569.html


(2)《赢在大数据:金融/电信/媒体/医疗/旅游/数据市场行业大数据应用典型案例》;

免费试读:https://item.jd.com/12160046.html

本册“微信读书”免费阅读:https://weread.qq.com/web/bookReview/list?bookId=f0532d707159f0dff058c4e

(3)《赢在大数据:营销/房地产/汽车/交通/体育/环境行业大数据应用典型案例》;

费试读:https://item.jd.com/12160064.html

(4)《赢在大数据:政府/工业/农业/安全/教育/人才行业大数据应用典型案例》。

免费试读:https://item.jd.com/12058567.html

或点击“阅读原文”,购买“赢在大数据系列丛书”。

推荐文章


点击蓝色标题即可阅读全文

10万读者睿选2016年TOP1002015年TOP100

CCTV大数据名人讲堂PPT&视频:万亿元大数据产业安全城市】【农业航运 】【数据资产变现

DTiii:3352家大数据产业地图PPT及下载】【TOP100】【亿元俱乐部中国大数据行业应用Top Choice 2019】【赢在大数据
数字化转型:工作手册战略路径百家企业零售转型路银行人才组织工业华为
卡特彼勒 美的100亿,百丽美的历程美的PPT华为数据之道转型战略毕马威转型方法论阿里方法论
元宇宙:清华大学元宇宙、北京大学元宇宙

数据中台:凯哥八问颠覆数据工程师阿里滴滴数据中台中台报告数据中台建设之道高峰论坛视频回放富国银行和Netflix数据中台 民生银行数据中台

数据资产:德勤阿里数据资产评估,PPT阿里巴巴数据资产管理实践,阿里&毕马威PPT2021数据资产运营白皮书数据资产目录建设之数据分类全解数据资产管理的5个步骤和6个要素 普华永道:数据资产化前瞻性研究白皮书【实践】商业银行数据资产管理体系建设实践报告【行业】银行数据资产的数据治理【案例】附表:芝麻信用元素表(DAS)列表及含义


院士:李国杰【(PPT)(全文)】【数据开放】,邬贺铨倪光南【大数据时代)()】,怀进鹏梅宏

大数据100分:【金融】【制造 】【餐饮】【电信】【电商】【更多行业大数据应用请点击底部导航栏BD100分】;

大数据/人工智能数据竞赛:Kaggle经验分享NetFlix百万美金】【Kaggle案例】【2017BDCI】【2017BDCI嘉年华2018BDCI嘉年华滴滴算法大赛】

征信:ZestFinance】【BCG】【芝麻信用】;

工业4.0:罗兰·贝格】【安筱鹏

人工智能:阿里&BCG】【埃森哲经济社会】【美国AI国家战略 伯努利李开复】【TOP100】【2016中国AI报告】【美国AI国家规划】【深度学习】【人智合一】【人脸识别】【人脸识别企业PK】【无人驾驶】【AI知识体系】【神经网络

区块链:TED视频】【麦肯锡】【毕马威】【高盛】【全球区块链报告

算   法:【10大经典算法】【推荐算法

数据科学家:13个真实场景数据科学应用案例数据科学家工具包,数据科学家成指南让统计"看得见"21个面试题和答案

可视化:【2017年获奖2014年最佳】【十大标志性作品】【43款工具

PPT:【大数据产业地图】【数据之巅互联网的未来】【软件正吃掉整个世界】【互联网思维】【互联网+ 】【一带一路】;

VC:【独角兽研究报告】【大数据投资】【2015创投趋势】【2014投资报告】【倒闭教训

人才:【2018BD&人才报告2017BD&人才报告

大数据应用最佳实践案例:18个行业106个案例

BDAI100:大数据AI产业创新与投资百人会(BDAI100),致力推动1000家亿元BDAI企业涌现、推动BDAI与100万亿实体经济的深度融合、加速10万亿数据经济腾飞(简称“BDAI100十百千工程”)

原创:陈新河:万亿元大数据产业新生态软件定义世界,数据驱动未来数据交易互联网+观点】。

专题版本:20220608V3.91

底部新增导航菜单(点击顶部“软件定义世界(SDX)”,点击“进入公众号”,底部菜单栏即出现),下载200多个精彩PPT,持续更新中!

上下滑动查看更多精选专题内容

微信公众号:软件定义世界(SDX)

微信ID:SDx-SoftwareDefinedx

软件定义世界, 数据驱动未来;

❷ 大数据思想的策源地、数字化转型的指南针、创业者和VC的桥梁、政府和企业家的智库、从业者的加油站;

个人微信号:sdxtime,

邮箱:sdxtime@126.com;

=>> 长按右侧二维码关注。

底部新增导航菜单,下载200多个精彩PPT,持续更新中!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156243
 
1149 次点击