GPT 中文提示词技巧:参照 OpenAI 官方教程

前言

搜了半天什么 prompt engineering 的课,最后会发现 gpt 官方其实是有 prompt 教程的。因此本文主要是学习这篇教程。

概述 - OpenAI API

部分案例是参考:根据吴恩达老师教程总结出中文版prompt教程_哔哩哔哩_bilibili up主的内容。

一、尽可能清晰的指示

指示越少,限定 GPT 输出范围越小,我们得到的答案越准确。

详细信息查询

这一点应该大多数同学不会犯错。比如“谁是总统?”和“谁是2021年的美国总统?” 我认为对于大多数同学来说这样的检索能力很简单。

定义AI角色

很经典的限定,让输出更专业化。

在 api 里,我们可以传输3种不同角色的消息类型。

  • system:用于定义背景,比如 AI 角色,输出格式。
  • user:我们的问题。
  • assistant:我们对回复的举例,用于给 gpt 提示。

比如,“When 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."

这样,当 user 要求写东西时生效。

分隔符限定输入分区

给 gpt 明确不同部分输入文字分别是什么。

Summarize the text delimited by triple quotes with a haiku.

“”“insert text here”“”

用 delimited 限定俳句的参考文本。

指定处理步骤

多任务分步骤执行。以下示例为先总结后翻译。

Use 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: ".

Step 2 - Translate the summary from Step 1 into Spanish, with a prefix that says "Translation: ".

利用 assistant 提供示例

我自己先输出一次给他看,让他看看我期望的效果。

1701448411897

限定输出长度

如:50个字以内,3个要点(3 bullet points)。

二、提供参考文本

指示参考文本

比如没找到输入信息回复”我没找到“,可以帮助我们判断 GPT 是否正常读取了我们的输入:

Use the provided articles delimited by triple quotes to answer questions. If the answer cannot be found in the articles, write “I could not find an answer.”

也可以自己加上一些限定,比如评论分为几种提示:

1701406526761

image-20231201141111365

指示使用引文

如阅读理解,参考我的文档回答我的问题,没找到答案回复“没找到”,找到了回复引用范围:

You will be provided with a document delimited by triple quotes and a question. Your task is to answer the question using only the provided document and to cite the passage(s) of the document used to answer the question. If the document does not contain the information needed to answer this question then simply write: “Insufficient information.” If an answer to the question is provided, it must be annotated with a citation. Use the following format for to cite relevant passages ({“citation”: …}).

三、把任务分成子任务

对查询类型分类

类似淘宝用户评价处理这一类应用。这也是能大幅节约 API 开销的 prompt 方法。

You will be provided with customer service queries. Classify each query into a primary category and a secondary category. Provide your output in json format with the keys: primary and secondary.

Primary categories: Billing, Technical Support, Account Management, or General Inquiry.

Billing secondary categories: - Unsubscribe or upgrade - Add a payment method - Explanation for charge - Dispute a charge

Technical Support secondary categories: - Troubleshooting - Device compatibility - Software updates

Account Management secondary categories: - Password reset - Update personal information - Close account - Account security

General Inquiry secondary categories: - Product information - Pricing - Feedback - Speak to a human

以上是将用户输入分类给不同部门的查询分类,比如我输入“买回来的电脑坏了”,分类结果是技术支持-故障排除。我说“我想升级一下电脑”分类结果是账单-取消订阅或升级。

将信息分类,这样更方便我们对信息的传输(比如分发给不同的部门)。

1701405996732

对于状态机的切换,我们可以设定输入一定特殊字符串时切换。比如用户中途突然想切换服务了。

突破长度限制1:触发总结查询

我们知道 GPT 允许输入文本长度有限,有以下几种方法:

  1. 到达长度限制后,先前内容的摘要和后面的部分内容合并作为输入。
  2. 动态选择与当前回答最相关的先前部分。

突破长度限制2:分段递归查询

把文章分几段,每段提取一下摘要,最后所有摘要总结生成摘要。

四、给模型思考的时间

有时候我们会发现,问一些简单问题(如计算加减法)不知道为什么 GPT 也会犯错。官方提示是可以不要立即寻求答案,给予其思考的时间。

下定结论前,先得出 GPT 自己的答案,再比较判断用户答案

涉及到一点输出顺序影响结果的问题,因为 GPT 是根据前文内容生成后面的内容的。一个很有趣的例子:

1701411090510

GPT 的回答也不一定准确(比如视频演示中,对于问题7,回答是“矩形的面积”,驴唇不对马嘴)。我们可以让他拿自己的答案与学生答案作对比提高准确度。

1701411251189

还有一种误判情况:

1701411375691

原因在于让 GPT 先判断对错,再对比结果。

解决方案可以是:

1701411402859

第一是让他对比答案不用完全一样;

第二是先输出两个回答顺序,再判断正误,因为其生成内容的先后顺序。

隐藏中间步骤

这个推理过程并不一定是我们想要的,比如老板说我只要 TF 的结果。

我们可以做一定的输出格式限定:

1701488684841

只有 Hint 后面的部分是最终结果,‘’’ 中的都是中间步骤。

询问是否有遗漏

提示不要重复摘要,不要遗漏摘要:

image-20231202115434850

五、使用外部工具

嵌入文本搜索

比如先提供给 GPT 一定的信息供参考。

甚至可以使用外部数据库 API,地址如下:矢量数据库 |OpenAI 食谱

这里我就暂时不深入学习了~

执行代码或调用外部 API

比如计算,直接调 Python 库执行代码会更加准确。但是我试了一下,貌似 GPT3.5 是没法执行的。

1701489992626

不过要确保代码安全性。

六、系统地测试修改

阅读理解:能否从用户输入推出 answer

image-20231202121458003

我告诉 GPT,我会给你输入一些文本,你看看给定的这两条 answer 是否包含在其中。

步骤:

  1. 重写用户输入的要点。
  2. 重写一个比较接近用户输入要点的 answer 版本。
  3. 你觉得不知道这件事的人通过阅读 answer 能否得出用户输入要点的答案,并解释原因。
  4. 统计 YN 数量。

比如我输入了一段诗:

“”“In the summer of '69, a voyage grand, Apollo 11, bold as legend’s hand. Armstrong took a step, history unfurled, “One small step,” he said, for a new world.”“”

其实这里面都没提月球,所以是推不出答案的。

不过我的 GPT3.5 提示可以推出 answer1,无法推出 answer2. 还是有点笨笨的哈哈。

判题:给定用户答案和标准答案,判断用户答案是否正确

模型中的变量太多了,我们可以通过并交集判断用户答案和专家答案之间的集合关系进一步判断其正确性。

image-20231202122040210

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript实现手写签名,可触屏手写,支持移动端与PC端双端保存

目录 1.HTML模板 2.获取DOM元素和定义变量 3.创建两个canvas元素,并设置它们的宽度和高度 4.绑定触摸事件:touchstart, touchmove, touchend和click 5.实现触摸事件回调函数:startDrawing, draw和stopDrawing 6.实现绘制线段的函数&…

刷题学习记录(文件上传)

[GXYCTF 2019]BabyUpload 知识点&#xff1a;文件上传.htaccessMIME绕过 题目直接给题目标签提示文件上传的类型 思路&#xff1a;先上传.htaccess文件&#xff0c;在上传木马文件&#xff0c;最后蚁剑连接 上传.htaccess文件 再上传一个没有<?的shell 但是要把image/pn…

基于Java SSM框架实现文物管理系统项目【项目源码+论文说明】

基于java的SSM框架实现文物管理系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#…

java设计模式学习之【组合模式】

文章目录 引言组合模式简介定义与用途&#xff1a;实现方式UML 使用场景优势与劣势组合模式在Spring中的应用员工结构示例代码地址 引言 设想您正在组织一个大型派对&#xff0c;需要将各种食品和饮料按类型整理。您可能有单独的物品&#xff0c;如一瓶苏打水&#xff0c;也可…

Qt 如何使用VTK显示点云

开发环境 ubuntu 20.04 VTK 8.2 编译VTK 下载源码 git clone --recursive https://gitlab.kitware.com/vtk/vtk.git 使用版本管理工具&#xff0c;切换版本到8.2 更改编译选项&#xff0c;这里使用cmake-gui进行配置 1、编译类型修改为Release 2、安装路径可以设置&#xf…

JavaScript如何实现按键音效、视频播放,标签分类切换横向滚动

1.使用HTML5的audio标签 &#xff08;音频播放&#xff09; <audio id"click-sound"><source src"audio/show.mp3" type"audio/mpeg"> </audio> <button id"button">按钮</button> var clickSound d…

Vue练习 v-model 指令在状态和表单输入之间创建双向绑定

效果&#xff1a; <template><h2>Text Input</h2><input v-model"text"> {{ text }}<h2>Checkbox</h2><input type"checkbox" id"checkbox" v-model"checked"><label for"checkbox…

使用Notepad++编辑器,安装compare比较差异插件

概述 是一款非常有特色的编辑器&#xff0c;Notepad是开源软件&#xff0c;Notepad中文版可以免费使用。 操作步骤&#xff1a; 1、在工具栏 ->“插件”选项。 2、勾选Compare选项&#xff0c;点击右上角“安装”即可。 3、 确认安装插件 4、下载插件 5、插件已安装 6、打…

服务器配置免密SSH

在当今互联网时代&#xff0c;远程工作和网络安全已成为信息技术领域的热点话题。无论是管理远程服务器、维护网络设备还是简单地从家中连接到办公室&#xff0c;安全始终是首要考虑的因素。这就是为什么 SSH&#xff08;Secure Shell&#xff09;成为了网络专业人士的首选工具…

集合进阶指南:从基础知识到高级应用

集合高级 Collection集合 数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的数组可以存储基本数据类型和引用数据类型 集合只能存储引用数据类型,如果要存基本数据类型,需要存对应的包装类 集合类体系结构 Collectio…

家政预约小程序带商城,图文详解

家政预约小程序开发&#xff0c;在线选择服务分类&#xff0c;选择上门时间&#xff0c;提交订单&#xff0c;在线支付。 商城模块&#xff1a;商品分类&#xff0c;在线下单支付。 个人中心&#xff1a;订单管理&#xff08;家政订单&#xff0c;搬家订单&#xff0c;商品订…

antdesign前端一直加载不出来

antdesign前端一直加载不出来 报错&#xff1a;Module “./querystring” does not exist in container. while loading “./querystring” from webpack/container/reference/mf at mf-va_remoteEntry.js:751:11 解决方案&#xff1a;Error: Module “xxx“ does not exist …

肾虚的16个表现,你有吗?

现代研究发现&#xff1a;导致人体衰老的根本原因不是年龄&#xff0c;而是“肾虚”。此外&#xff0c;肾虚不是男人的专利&#xff0c;女人肾虚的危害更大。 一、肾虚的16个表现 1、总感觉口咸 我们的五味&#xff08;酸苦甘辛咸&#xff09;跟我们的脏腑是相对应的&#xf…

软件设计之装饰模式

装饰模式把每个要装饰的功能放在单独的类中&#xff0c;并让这个类包装它所要装饰的对象&#xff0c;因此&#xff0c;当需要执行特殊行为时&#xff0c;客户代码就可以在运行时根据需要有选择地、按顺序地使用装饰功能包装对象。 案例&#xff1a;穿搭。衣柜有帽子、眼镜、…

由于找不到xinput1_3.dll,无法继续执行代码的多种解决方法指南,xinput1_3.dll文件修复

当玩家或用户在启动某些游戏和应用程序时&#xff0c;可能会遭遇到一个系统错误提示&#xff1a;“由于找不到xinput1_3.dll,无法继续执行代码l”。这种情况通常指出系统中DirectX组件存在问题。以下我们将介绍几种常用的解决方法&#xff0c;并提供详细的操作步骤。 一.找不到…

qt-C++笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString

qt-C笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString code review! 文章目录 qt-C笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString1.运行2.main.cpp3.qt_FileDialog.pro4.QFileDialog类详解 1.运行 2.main.cpp 代码 #inclu…

自己搭建一个window系统上的MinIO系统(小白30分钟搞得版)

自己搭建一个window系统上的MinIO系统 前言实现系统说明 效果配置结果测试本地测试同一网络内的其他计算机访问 展望注参考链接 前言 有个项目使用到minio的云端存储系统&#xff0c;为了更好的理解项目&#xff0c;准备对这个“神秘的玩意”自己研究一下&#xff0c;看看到底…

【hacker送书第10期】AI时代系列丛书(五选一)

AI时代系列丛书 AI时代程序员开发之道✨内容简介参与方式 AI时代项目经理成长之道✨内容简介参与方式 AI时代架构师修炼之道✨内容简介参与方式 AI时代产品经理升级之道✨内容简介参与方式 AI时代Python量化交易实战✨内容简介参与方式 AI时代程序员开发之道✨ 内容简介 本书是…

vivado时序方法检查5

TIMING-14 &#xff1a; 时钟树上的 LUT 在时钟树上发现 LUT <cell_name> 。不建议在时钟路径上包含 LUT 单元。 描述 时钟路径上的 LUT 可能导致偏差过大 &#xff0c; 因为时钟必须在穿过互连结构的常规布线资源上进行布线。除偏差过大外 &#xff0c; 这些路径更…