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.hqwc.cn/news/239371.html

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

相关文章

程序员养生指南:代码世界中的健康之道

作为程序员,长时间坐姿、高强度的思维劳动和熬夜加班是我们日常工作的常态,但这也带来了一系列的亚健康问题。在代码的世界里,如何保持健康,成为了我们必须面对的挑战。本文将分享一些程序员养生的实用指南,助你在代码…

postman接口测试教程与实例分享

postman 的界面图 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据,导入别人共享的收藏夹测试数据(Import from file, Import from folder, Import from link等)&…

2023年产业数据价值化峰会暨数栖大会-核心PPT资料下载

一、峰会简介 本次大会由主论坛和3场分论坛组成,嘉宾阵容强大,内容丰富多彩。来自政企学界的百名专家从产学研用多种维度对企业数据管理、产业数据资源化建设等视角展开。大会围绕“产业数据价值化”为主题,秉持“让数据用起来”的使命&…

图扑参展高交会-全球清洁能源创新博览会

“相聚鹏城深圳,共享能源盛宴” 第二十五届中国国际高新技术成果交易会(简称“高交会”)于 11 月 15-18 日在深圳盛大开幕。高交会由商务部、科学技术部、工业和信息化部、国家发展改革委、农业农村部、国家知识产权局、中国科学院、中国工程院和深圳市人民政府共同…

Nacos多数据源插件

Nacos从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件.本文档详细介绍一个多数据源插件如何实现以及如何使其生效。 注意:…

scrapyd及gerapy的使用及docker-compse部署

一、scrapyd的介绍 scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API(也即是web api)来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们 scrapyd的安装 scr…

设置MATLAB启动时弹到上次退出时的工作文件夹

前言 每次关机前退出matlab后,下次打开matlab想完成剩余的工作,还需要回忆工作文件夹,或者依据上次打开的m文件之类的点击跳转,一次两次觉得没什么,多了就觉得很麻烦反感,参考官方知乎博主的解答&#xff…

解决dom4j新增xml节点自动加上xmlns=““的问题

文章目录 问题发生问题原因技术积累问题解决实战演示写在最后 问题发生 有pom.xml文件A,有符合pom.xm格式的l字符串B; 字符串B通过DocumentHelper.parseText(str)转成xml文件; pom.xml文件A通过add(node)方法添加第二步转换完后的pom.xml文件…

Linux系统的常见命令十二,用户管理、、权限设置和组管理

目录 用户管理权限设置组管理 本文主要介绍Linux系统的用户管理、权限设置和组管理。 用户管理 在Linux系统中,用户管理是一个非常重要的部分,它涉及到用户账号的创建、权限的管理、密码的设置等。下面是一些用户管理的基本操作: 添加用户&…

操作系统,并行性:两个或多个事件在同一时刻发生并发性:两个或多个事件在同一时间间隔内发生 ,就绪状态执行状态阻塞状态

操作系统的目的: 方便性 有效性 可扩展性 开放性 操作系统的作用: 作为用户和计算机硬件系统之间的接口 作为计算机系统资源的管理者 实现了对计算机资源的抽象 多道批处理系统的优缺点: 资源利用率高 系统吞吐量大 平均周转时间长 无交互…

Linux破解用户密码【基于redhat9】

Linux破解用户密码【基于redhat9】 操作步骤: 重启虚拟机,选择第二行,按下e键在倒数第二行的末尾加入 rd.break,按下ctrlx键,进入终端界面重新挂载/sysroot为读写切换到bash修改用户密码创建 /.autorelabel 文件使SELinux安全策略…

SQL Server 2016(为数据表Porducts添加数据)

1、实验环境。 某公司有一台已经安装了SQL Server 2016的服务器,并已经创建了数据库PM。 2、需求描述。 在数据库PM中创建表products,"编号"列的值自动增长并为主键。然后使用T-SQL语句为表格插入如下数据。 3、实验步骤。 1、使用SSMS管理工…