写好ChatGPT提示词原则之:清晰且具体(clear specific)

ChatGPT 的优势在于它允许用户跨越机器学习和深度学习的复杂门槛,直接利用已经训练好的模型。然而,即便是这些先进的大型语言模型也面临着上下文理解和模型固有局限性的挑战。为了最大化这些大型语言模型(LLM)的潜力,关键在于编写有效的提示词。适当的提示不仅引导模型正确理解需求,还能防止模型产生误导性或无关的输出。

以下提示词中,务必要将gpt定位成一个知识非常丰富,同时也不了解事情来龙去脉的聪明人。你所要做得就是如何描述清楚你的处境(上下文)和具体的问题(需要gpt帮你做的事情)。

写好提示词之清晰且具体

清晰和具体的提示词" 是指在与 GPT 交互时,使用明确、直接、并且详细到足够程度的语言,以确保模型能够准确理解你的请求或问题。这种方式的提示有助于指导模型提供更相关、准确和有用的回答。

详细分为以下要点:

1. 使用分割符

使用分隔符(如#,'''等)分割要处理的内容,分割开指令和内容,一方面能让gpt不用浪费算力在分开你想做的事情和你想操作的内容上,另一方面是消除歧义,比如你想操作的内容上存在指令,如

提取出以下用户希望你掌握的代码语言,不用实现功能
写一个python方法,实现获取ipv4的功能

使用了分隔符之后:

提取出以下用户希望你掌握的代码语言,不用实现功能:
'''写一个python方法,实现获取ipv4的功能'''

明显可以看出没有分割符的gpt已经出现了混淆,所以在提示词中务必使用提示词。 

2. 结构化输出

提示gpt输出的时候使用具体格式输出,比如使用json或者html输出。gpt使用了结构化输出之后,好处是编程语言可以很好的处理这些输出的内容,比如

本质上就是自己先分析清楚问题,并且能描述问题的具体信息和疑问点,配合上下文的形式,输入给到gpt,这样方便gpt了解到足够多的上下文信息和具体的问题是什么。

为了达成这一步,这里给出一个具体的例子:

假设我需要gpt输出书的一些信息(日常中很实用,比如让gpt进行信息提取)

给我输出几本书的的一些信息,比如书名,作者名,出版日期,分类等

 指示gpt进行结构化输出:

给我输出几本书的的一些信息,比如书名,作者名,出版日期,分类等,使用json格式出输出

这里看起来只是输出不影响结果的含义,其实最重要的点是gpt可以按照结构化输出,而且gpt也善于处理这种转义,后续gpt落地到工具中后,结构化的结果是非常方便程序读取的。比如:

上图是使用gpt的控制台进行调试时gpt的输出,这里gpt的输出是可以作为json直接供程序读取的(虽然有一堆不必要换行符)。

3. 要求模型检查是否符合条件

要求gpt在进行解决问题之前先给定需不需要解决问题的条件。这样说可能不太好理解,举个毒鸡汤例子:

一场考试卷子发下来5分钟后就有人交了卷子,但是大部分人都超时1小时还不能完成,后来教授让所有未完成的人停下来,只见卷子最后一题写着,此卷无需回答,填写姓名直接交卷即满分。

 意思就是在prompt中给出问题可解的条件,如果问题不可解即输出问题不可解即可不用再进行更多算力和时间计算,结果也更加准确。

举一个翻译的例子

这里我们让gpt加上一个检查步骤

 gpt输出自己检查了第一个字符不是英文后不再使用算力翻译,而没有指定检查步骤时gpt仍会逐字逐句将“英文”“翻译”成中文,实际上不需要翻译。

看完以上可能有几个疑惑需要说明下:

1. 为什么gpt说自己不懂德语?

实际上它是懂德语的,这里出现了幻觉,让gpt输出处理步骤是检查和对抗幻觉的一种手段,其实这里为了迭代prompt你可以设定角色,比如这样:

2. gpt3.5识别文字中英文有缺陷的

如果将上述中德文修改为英文,那大概率gpt会判断错误,这里为了教程方便选用的德文,结果还是出现了1中的幻觉。

以下是分别清除上下文,并且温度设定为0状态下gpt3.5的回答

 但是尝试过多次,gpt4不会出现中英文识别错误的回答。

所以如果真的在生产中遇到了相关问题,一种办法是使用更高级的gpt4,一种是迭代prompt避开这个问题,比如修改英文为非中文,使用gpt3.5也可以得到比较准确的结果:

4. 提供执行成功的案例

可以给出gpt一些你认为比较正确的回答,这样gpt实际上就会模仿原先正确的回答生成新的回答。这里使用控制台来给出例子会比较方便。

 这里举一个实际生产过程中会使用到的一个发包机器人:

如果不给出示例的情况下,gpt会反复确认,即使我们在prompt中已经确认强调直接输出,但是gpt一直持续拉扯并且回复的结果并不能让编程语言直接格式化读取 

如果直接给出一个示例给到gpt

这里可以看出gpt不会与我们持续拉扯和废话,会直接输出结果。

这里有一个知识点必须要介绍一下了,是我们使用ChatGPT不会注意到的一个点,那就是三个用户,system,user和assistant,这个在gpt的编程中会持续使用到,在调试台中也能看到,有一个系统消息,示例和输入框。

system相当于我们给到gpt的一个前置,一些背景,上下文和处理步骤都可以在这里给出,并且gpt并不会回复这个system的设置。

assistant就是gpt的回答

user就是我们自己

这里将上述对话转换成json格式就比较清楚了:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

英文论文降重修改技巧 papergpt

大家好,今天来聊聊英文论文降重修改技巧,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 英文论文降重修改技巧 作为网站编辑,我们经常需要处理大量…

scroll-behavior属性使用方法

定义和用法&#xff1a; scroll-behavior 属性规定当用户单击可滚动框中的链接时&#xff0c;是否平滑地&#xff08;具动画效果&#xff09;滚动位置&#xff0c;而不是直线跳转。 <style>element{/* 核心代码 */scroll-behavior: smooth;} </style> 属性值&am…

网络基础(十一):VRRP原理与配置

目录 前言&#xff1a; 1、VRRP的基本概述 2、VRRP的基本原理 2.1VRRP的基本结构 2.2设备类型 2.3状态机 2.4VRRP路由器的抢占功能 2.5VRRP路由器的优先级 2.6VRRP工作原理 2.7主备路由器的工作内容 3、VRRP的基本配置 3.1配置主路由器和备用路由器 3.2配置PC1与P…

Spring Boot 3 整合 Hutool 验证码实战

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

面试 Java 算法高频题五问五答第一期

面试 Java 算法高频题五问五答第一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;括号生成: 数字 n 代表生成括号的对数&#xff0c;请你设计一个…

机器视觉技术与应用实战(Chapter Two-03)

2.5 图像滤波和增强 滤波的作用是&#xff1a;图像中包含需要的信息&#xff0c;也包含我们不感兴趣或需要屏蔽的干扰&#xff0c;去掉这些干扰需要使用滤波。 增强的作用是&#xff1a;通过突出或者抑制图像中某些细节&#xff0c;减少图像的噪声&#xff0c;增强图像的视觉效…

2020 年网络安全应急响应分析报告

2020 年全年奇安信集团安服团队共参与和处置了全国范围内 660起网络安全应急响应事件。2020 年全年应急响应处置事件行业 TOP3 分别为:政府部门行业(146 起)医疗卫生行业(90 起)以及事业单位(61 起&#xff0c;事件处置数分别占应急处置所有行业的 22.1%、13.6%、9.2%。2020 年…

Mac如何安装stable diffusion

今天跟大家一起在Mac电脑上安装下stable diffusion&#xff0c;在midjourney等模型收费的情况下如何用自己的电脑算力用上免费的画图大模型呢&#xff1f;来吧一起实操起来 一、安装homebrew 官网地址&#xff1a;Homebrew — The Missing Package Manager for macOS (or Lin…

C语言预处理详解及其指令

预处理详解 1.预定义符号2.#define定义常量基本使用方法举例子如果在define定义的表示符后面加上分号会发生什么&#xff1f;用一下来解释 3. #define定义宏举例例1例2 4. 带有副作用的宏参数例如: 5. 宏替换的规则6. 宏函数的对比宏和函数的一个对比 7. #和##7.1 #运算符7.2 #…

DSP捕获输入简单笔记

之前使用stm32的大概原理是&#xff1a; 输入引脚输入一个脉冲&#xff0c;捕获1开始极性捕获&#xff0c;捕获的是从启动捕获功能开始计数&#xff0c;捕获的是当前的计数值&#xff1b; 例如一个脉冲&#xff0c;捕获1捕获上升沿&#xff0c;捕获2捕获下降沿&#xff1b;而两…

FPGA引脚分配的问题

今天在做一个FPGA的实验时&#xff0c;在引脚分配时失败了&#xff0c;出现了如下报错&#xff1a; 我当时分配的引脚是PIN_AE19&#xff0c;然而奇怪的是我之前并未分配这个引脚&#xff0c;我使用的开发工具是Quartus II 9.1 Web Edition&#xff0c;算个老版本了。 有的网站…

从 0 开始实现一个 SpringBoot + Vue 项目

从 0 开始实现一个 SpringBoot Vue 项目 从 0 开始实现一个 SpringBoot Vue 项目软件和工具创建 SpringBoot 后端项目创建 MySQL 数据库配置文件实现增删改查接口Model 层mapper 层service 层controller 层测试 从 0 开始实现一个 SpringBoot Vue 项目 软件和工具 后端开发…

海思平台isp之raw图回灌调试

文章目录 一、搭建环境二、配置参数三、回灌raw图isp调试中,经常会遇到一些特定场景的效果需要优化,但由于某些原因和成本考虑,开发人员无法亲临现场,这个时候采集场景raw图回灌到板端调试,就显得尤为方便了。 一、搭建环境 (1)建立板端与PQTool连接 板端进入SS928V100…

✺ch3——数学基础

目录 3D坐标系和点矩阵单位矩阵转置矩阵逆矩阵逆转置矩阵矩阵的运算矩阵加法()矩阵乘法() 常用的变换矩阵平移矩阵缩放矩阵旋转矩阵透视矩阵正射投影矩阵LookAt矩阵 向量加法和减法点积叉积 局部空间和世界空间——模型矩阵M视觉空间和合成相机——模型-视图矩阵MV用GLSL函数构…

【JVM从入门到实战】(八)垃圾回收(1)

内存泄漏&#xff1a;指的是不再使用的对象在系统中未被回收&#xff0c;内存泄漏的积累可能会导致内存溢出 什么是垃圾回收 Java中为了简化对象的释放&#xff0c;引入了自动的垃圾回收&#xff08;Garbage Collection简称GC&#xff09;机制。通过垃 圾回收器来对不再使用的…

6.鸿蒙app_hap_DevEco如何真机调试模式_app安装在手机中

真机调试 手机》设置》关于手机》HarmonyOS版本》软件版本&#xff0c;连续单击10次启动开发者模式 然后&#xff1a;设置》系统和更新》开发人员选项》打开USB调试功能。 电脑USB连接手机&#xff0c;手机USB连接类型&#xff0c;传文件&#xff08;不要选择仅充电&#xf…

【CANN训练营】CANN算子开发进阶笔记

Ascend C Tilling计算 Tilling基本概念介绍 大多数情况下&#xff0c;Local Memory的存储&#xff0c;无法完全容纳算子的输入与输出的所有数据&#xff0c;需要每次搬运一部分输入数柜进行计算然后搬出&#xff0c;再敲运下一部分输入数据进行计算&#xff0c;直到得到完愁的…

阿里云对象存储OSS外网流出流量异常增多导致费用上升的解决方法

本文介绍在使用阿里云的对象存储 OSS服务过程中&#xff0c;外网流量消耗异常增多并导致异常的费用支出这一情况的问题发现、问题定位与几种不同的问题解决方法。 细细数来&#xff0c;写博客已经有近3的历史了&#xff0c;这成为了一项已经陪伴我大半人生的工作&#xff1b;也…

设计模式 五种不同的单例模式 懒汉式 饿汉式 枚举单例 容器化单例(Spring单例源码分析) 线程单例

单例模式 第一种 饿汉式 优点&#xff1a;执行效率高&#xff0c;性能高&#xff0c;没有任何的锁 缺点&#xff1a;某些情况下&#xff0c;可能会造成内存浪费 /*** author LionLi*/ public class HungrySingleton {private static final HungrySingleton hungrySingleton n…

05 动态渲染数据

概述 实际上动态渲染数据&#xff0c;在《使用CDN开发Vue3项目》中就已经学习过了&#xff0c;核心代码如下&#xff1a; <div id"vue-app">{{text}}</div> <script src"https://cdn.staticfile.org/vue/3.0.5/vue.global.js"></sc…