OpenAI 官方的 Prompt 工程指南:你可以这么玩ChatGPT

2023-12-19

写好 prompt 已经成为 LLM 的一项必修课。‍

随着 ChatGPT、GPT-4 等大型语言模型(LLM)的出现,提示工程(Prompt Engineering)变得越来越重要。很多人将 prompt 视为 LLM 的咒语,其好坏直接影响模型输出的结果。

如何写好 prompt,已经成为 LLM 研究的一项必修课。

引领大模型发展潮流的 OpenAI,近日官方发布了一份提示工程指南,该指南分享了如何借助一些策略让 GPT-4 等 LLM 输出更好的结果。OpenAI 表示这些方法有时可以组合使用以获得更好的效果。

图片

指南地址:https://platform.openai.com/docs/guides/prompt-engineering

技术交流

建了技术交流群!想要进交流群、获取如下原版资料的同学,可以直接加微信号:dkl88194。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、添加微信号:dkl88194,备注:来自CSDN + 技术交流
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

资料1
在这里插入图片描述

资料2
在这里插入图片描述

六个策略,获得更好的结果

策略一:写清楚指令

首先用户要写清楚指令,因为模型无法读懂你的大脑在想什么。举例来说,如果你希望模型的输出不要太简单,那就把指令写成「要求专家级别的写作」;又比如你不喜欢现在的文本风格,就换个指令明确一下。模型猜测你想要什么的次数越少,你得到满意结果的可能性就越大。

只要你做到下面几点,问题不会太大:

首先是 提示中尽量包含更详细的查询信息 ,从而获得更相关的答案,就像下面所展示的,同样是总结会议记录,采用这样的提示「用一个段落总结会议记录。然后写下演讲者的 Markdown 列表以及每个要点。最后,列出发言人建议的后续步骤或行动项目(如果有)。」结果会比较好。

图片

其次是 用户可以提供示例 。例如,当你想让模型模仿一种难以明确描述的回答风格时,用户可以提供少数示例。

图片

第三点是 指定模型完成任务时所需的步骤 。对于有些任务,最好指定步骤如步骤 1、2,显式地写出这些步骤可以使模型更容易地遵循用户意愿。

图片

第四点是 指定模型输出的长度 。用户可以要求模型生成给定目标长度的输出,目标输出长度可以根据单词、句子、段落等来指定。

图片

第五点是 使用分隔符来明确划分提示的不同部 分。“”"、XML 标签、小节标题等分隔符可以帮助划分要区别对待的文本部分。

图片

第六点是让模型扮演不同的角色,以控制其生成的内容。

图片

策略 2 提供参考文本

语言模型会时不时的产生幻觉,自己发明答案,为这些模型提供参考文本可以帮助减少错误输出。需要做到两点:

首先是指示模型使用参考文本回答问题。如果我们可以为模型提供与当前查询相关的可信信息,那么我们可以指示模型使用提供的信息来组成其答案。比如:使用由三重引号引起来的文本来回答问题。如果在文章中找不到答案,就写「我找不到答案」。

图片

其次是指示模型从参考文本中引用答案。

图片

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

正如软件工程中将复杂系统分解为一组模块化组件一样,提交给语言模型的任务也是如此。复杂的任务往往比简单的任务具有更高的错误率,此外,复杂的任务通常可以被重新定义为更简单任务的工作流程。包括三点:

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

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

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

由于模型具有固定的上下文长度,因此要总结一个很长的文档(例如一本书),我们可以使用一系列查询来总结文档的每个部分。章节摘要可以连接起来并进行总结,生成摘要的摘要。这个过程可以递归地进行,直到总结整个文档。如果有必要使用前面部分的信息来理解后面的部分,那么另一个有用的技巧是在文本(如书)中任何给定点之前包含文本的运行摘要,同时在该点总结内容。OpenAI 在之前的研究中已经使用 GPT-3 的变体研究了这种过程的有效性。

策略 4:给模型时间去思考

对于人类来说,要求给出 17 X 28 的结果,你不会立马给出答案,但随着时间的推移仍然可以算出来。同样,如果模型立即回答而不是花时间找出答案,可能会犯更多的推理错误。在给出答案之前采用思维链可以帮助模型更可靠地推理出正确答案。需要做到三点:

首先是指示模型在急于得出结论之前找出自己的解决方案。

其次是使用 inner monologue 或一系列查询来隐藏模型的推理过程。前面的策略表明,模型有时在回答特定问题之前详细推理问题很重要。对于某些应用程序,模型用于得出最终答案的推理过程不适合与用户共享。例如,在辅导应用程序中,我们可能希望鼓励学生得出自己的答案,但模型关于学生解决方案的推理过程可能会向学生揭示答案。

inner monologue 是一种可以用来缓解这种情况的策略。inner monologue 的思路是指示模型将原本对用户隐藏的部分输出放入结构化格式中,以便于解析它们。然后,在向用户呈现输出之前,将解析输出并且仅使部分输出可见。

最后是询问模型在之前的过程中是否遗漏了任何内容。

策略 5:使用外部工具

通过向模型提供其他工具的输出来弥补模型的弱点。例如,文本检索系统(有时称为 RAG 或检索增强生成)可以告诉模型相关文档。OpenAI 的 Code Interpreter 可以帮助模型进行数学运算并运行代码。如果一项任务可以通过工具而不是语言模型更可靠或更有效地完成,或许可以考虑利用两者。

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

  • 调用外部 API;

  • 赋予模型访问特定功能的权限。

策略 6:系统的测试变化

在某些情况下,对提示的修改会实现更好的性能,但会导致在一组更具代表性的示例上整体性能变差。因此,为了确保更改对最终性能产生积极影响,可能有必要定义一个全面的测试套件(也称为评估),例如使用系统消息。

更多内容,请参考原博客。

图片

© THE END

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenAI 官方的 Prompt 工程指南:你可以这么玩ChatGPT 的相关文章

随机推荐

  • 《OptiBPM入门教程》好书分享

    目 录 1 入门指南 1 1 OptiBPM安装及说明 1 2 OptiBPM简介 1 3 光波导介绍 1 4 快速入门 2 创建一个简单的MMI耦合器 2 1 定义MMI耦合器材料 2 2 定义布局设置 2 3 创建一个MMI耦合器 2
  • 年度大盘点:AIGC、AGI、GhatGPT震撼登场!揭秘人工智能大模型的奥秘与必读书单

    这里写目录标题 前言 01 ChatGPT 驱动软件开发 02 ChatGPT原理与实战 03 神经网络与深度学习 04 AIGC重塑教育 05 通用人工智能 前言 在2023年 人工智能领域经历了一场前所未有的大爆发 特别是在语言模型领域
  • 软件测试/测试开发/人工智能丨分类,二分类和回归问题的对应场景与区别

    分类 二分类和回归问题是机器学习中常见的三种任务类型 它们分别适用于不同的场景 具有不同的目标和输出 1 分类问题 Classification 场景 适用于将数据点分到不同的类别或标签中的问题 每个类别代表一种离散的类别或状态 例子 判断
  • 最全python数据分析学习路径、工作流程、知识结构。。。图谱

    我们生活在一个数据爆炸的时代 铺天盖地而来的信息和数据 让人尝尝目迷五色 运用数据分析 从而抽丝剥茧找出什么可行 什么不可行 沿着最有效的路走向成功 数据分析就是对业务进行流程梳理 指标监控 问题诊断和效果评估 以便实现决策支持的行为 数据
  • Python 接口测试之Excel表格数据操作方法封装

    引言 我们在做接口测试 经常会用到excel去管理测试数据 对Excel的操作比较频繁 那么使用python如何操作Excel文件的读与写呢 由于之前讲的都是大的框框 没有讲这么小的模块使用 现在就化整为0的讲解 读写模块介绍 python
  • 学了半年Python, 还是感觉什么都不会?深度解析

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 有了解校招内推的吗?

    校招内推已经很普遍了 特别是一些互联网 制造业等行业的名企大厂 都会有官方的内推 在流程上 内推跟普通校招比 一般的内推主要是 免简历筛选 直通笔试 少数特殊人才招聘 可以直通面试 在求职渠道上 校招内推主要有以下方式 熟人内推 最靠谱的内
  • Java接收并解析HL7协议数据

    一 前言 HL7协议相信医疗行业的IT人员都不陌生 笔者由于接触时间比较短 乍一听 协议 还是比较懵 不自觉就把它和 HTTP SOAP 之类的网络协议挂上关联 可事实上这个HL7只是一种数据格式 传输方式也可以使用最简单的Socket 二
  • vue3使用el-table报错ResizeObserver loop completed with undelivered notifications

    错误 Uncaught runtime errors ERROR ResizeObserver loop completed with undelivered notifications at handleError webpack int
  • setupetw.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个setupet
  • SessEnv.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个SessEnv
  • Java已死、前端已凉?巨大骗局!

    Java已死 前端已凉 巨大骗局 1 引言 2 Java的现状与挑战 3 前端技术的现状与挑战 4 Java和前端技术的未来发展趋势 5 扩展讨论 6 结论 摘要 近年来 随着技术的发展和市场需求的变化 Java和前端技术面临着前所未有的挑
  • 地牢边缘 DUNGEON LIMBUS中文免安装版

    地牢边缘 是一款点阵图形式的像素风经典迷宫探索类游戏 玩家需要在游戏中收集多种装备 随机生成的无限地下城 在生死之际遇见的迷之铁匠和管理复活之村的年轻女性 为了找回遗失的记忆 进入更深的地下城 玩家还可以发展村落以及进化武器的多样化收集要素
  • 照片组合拼图软件怎么选?哪个适合你?

    小伙伴们有没有想过将你的照片变成一幅精美的拼图呢 想象一下 几张普通的照片被重新组合 变成一幅充满创意和艺术感的作品 除此之外 将照片拼接起来还可以帮你把相关的几张图放在一起 方便你后续的整理 其实这样的操作很常见 也很简单 只要使用一些工
  • shpafact.dll文件丢失找不到导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个shpafac
  • sharemediacpl.dll文件丢失找不到导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个shareme
  • Selenium+Jave—Window文件窗口+比对文件

    新生一学期敲70万行代码 华为上海青浦 途虎一面凉经 途虎养车前端一面面经 途虎一面凉经 前端 途虎养车二面 途虎校招前端一面面经 中石油昆仑数智产品经理岗 中石油昆仑数智 数据分析工程师 华为上海青浦 上海银行背调 回暖分析 战绩结算 o
  • Apifox-比postman更优秀的接口自动化测试平台

    一 Apifox介绍 Apifox 是 API 文档 API 调试 API Mock API 自动化测试一体化协作平台 定位 Postman Swagger Mock JMeter 通过一套系统 一份数据 解决多个系统之间的数据同步问题 只
  • 有哪些可以配音的软件?分享这些软件值得一试

    圣诞节即将来临 制作一个有趣的圣诞节Vlog是让我们欢度节日的绝佳方式 而要让Vlog更加生动有趣 短视频配音工具可谓是必不可少的利器 那么 你可能会好奇 究竟如何让你的Vlog更加生动有趣 别担心 这里有一些小技巧可以帮助你 首先 你可以
  • OpenAI 官方的 Prompt 工程指南:你可以这么玩ChatGPT

    写好 prompt 已经成为 LLM 的一项必修课 随着 ChatGPT GPT 4 等大型语言模型 LLM 的出现 提示工程 Prompt Engineering 变得越来越重要 很多人将 prompt 视为 LLM 的咒语 其好坏直接影