与 ChatGPT 进行有效交互的几种策略

news2024/11/26 3:38:25

在这篇文章中,您将了解即时工程。尤其,

  • 如何在提示中提供对响应影响最大的信息
  • 什么是角色、正面和负面提示、零样本提示等
  • 如何迭代使用提示来利用 ChatGPT 的对话性质 
  • 废话不多说直接开始吧!!!

alt

提示原则

快速工程是有效利用 LLM 的最重要方面,也是定制与 ChatGPT 交互的强大工具。它涉及制定清晰且具体的指令或查询,以从语言模型中得出所需的响应。通过仔细构建提示,用户可以引导 ChatGPT 的输出实现其预期目标,并确保更准确和有用的响应。

在 ChatGPT 的即时优化过程中需要记住一些基本技术。

首先,在提示开头提供明确的指令有助于设置上下文并定义模型的任务。指定预期答案的格式或类型也是有益的。此外,您可以通过在提示中加入系统消息或角色扮演技术来增强交互。

下面是使用上述技术的示例提示:

我希望您为食谱博客生成 10 个快速准备晚餐的想法,每个想法都包含一个标题和对这顿饭的一句话描述。这些博客是为寻找易于准备的家庭膳食的父母受众编写的。将结果输出为项目符号列表。

将该提示与以下内容进行比较:

写 10 篇食谱博客。

 直观上,前者会获得更有用的结果。

请记住,您可以通过迭代地改进和试验提示来提高模型响应的质量和相关性,从而创建更富有成效的对话。不要害怕直接在 ChatGPT 上测试潜在的提示。

基本即时工程

现在您已经知道基本提示应该是什么样子了,让我们更详细地探讨一些基本的提示工程注意事项。

提示措辞

提示的措辞至关重要,因为它指导法学硕士生成所需的输出。以 ChatGPT 能够理解并准确回应的方式表达问题或陈述非常重要。

例如,如果用户不是某个领域的专家并且不知道表达问题的正确术语,ChatGPT 可能会遇到他们提供的答案受到限制。这类似于在不知道正确关键字的情况下在网络上搜索。

虽然很明显可以使用附加信息来创建更好的提示,但一般来说过于冗长不一定是最佳策略,这一点可能不太明显。最好不要将提示措辞视为一种单独的技术,而是将其视为连接所有其他技术的线索。

简洁

提示的简洁对于清晰度和精确性非常重要。精心设计的提示应该简洁明了,为 ChatGPT 提供足够的信息来理解用户的意图,但又不会过于冗长。然而,确保提示不要太简短至关重要,否则可能会导致歧义或误解。不够和太多之间的平衡可能很难实现。练习可能是掌握这项技能的最好方法。

提示中的措辞和简洁性很重要,因为它是为了具体化。

角色和目标

在即时工程中,角色是为法学硕士和目标受众分配的角色。例如,如果有人有兴趣让 ChatGPT 为一篇关于机器学习分类指标的博客文章撰写大纲,明确说明法学硕士将充当专家机器学习实践者,并且其目标受众是数据科学新手,这肯定会有助于提供富有成效的回应。是否应该用对话语言(“你将担任在凤凰城地区有 10 年经验的房地产经纪人”)或以更正式的方式(“作者:凤凰城房地产经纪人专家;受众:缺乏经验的家庭”)来表述买家“)可以在给定的场景中进行实验。

目标与角色密切相关。明确说明提示引导交互的目标不仅是一个好主意,而且是必要的。如果没有它,ChatGPT 如何知道要生成什么输出?

以下是考虑了角色和目标的有效提示:

您将担任一名在凤凰城地区拥有 10 年经验的房地产经纪人。您的目标是用一段文字总结菲尼克斯都市区排名前 5 的家庭社区。目标受众是没有经验的购房者。
除了明确陈述的角色和目标之外,请注意上面示例提示的相对特殊性。

 积极和消极的提示

正负提示是指导模型输出的另一套框架方法。积极的提示(“执行此操作”)鼓励模型包含特定类型的输出并生成特定类型的响应。另一方面,负面提示(“不要这样做”)会阻止模型包含特定类型的输出并生成特定类型的响应。使用正面和负面提示可以极大地影响模型输出的方向和质量。

考虑以下示例提示:

您将担任一名在凤凰城地区拥有 10 年经验的房地产经纪人。您的目标是用一段文字总结菲尼克斯都市区排名前 5 的家庭社区。目标受众是没有经验的购房者。

 上述提示的框架本质上是积极的,为 ChatGPT 应生成的内容提供了指导。让我们添加一些措辞来阻止某些输出,无论是内容还是格式。针对内容指导的负面提示的一个示例可以是在上面的示例中添加以下内容:

请勿包括距市中心 5 英里以内或机场附近的任何社区。

 这个额外的约束应该有助于 ChatGPT 理解它应该生成什么输出。

先进的即时工程策略 

让我们看看一些更高级的即时工程策略。虽然上一节提供了与 LLM 交互的一些一般准则,但您可以转向提示工程师工具包中常见的各种当代策略,以便能够以更复杂的方式与 ChatGPT 交互。

输入/输出提示

输入/输出提示策略涉及定义用户向 LLM 提供的输入以及 LLM 作为响应生成的输出。该策略对于促进工程至关重要,因为它直接影响 ChatGPT 响应的质量和相关性。

例如,用户可能会提供输入提示,要求 ChatGPT 为特定任务生成 Python 脚本,所需的输出将是生成的脚本。

下面是最基本策略的示例:提供单个输入并期望单个输出。

生成一个 Python 脚本,该脚本采用单个强制命令行参数 ([project]) 并执行以下任务:
– 创建一个名为 [project] 的新文件夹
– 在名为 [project].py 的新文件夹中创建一个文件
– 编写一个简单的文件Python脚本文件头到[project].py文件

 零样本提示

零样本策略涉及法学硕士在没有任何示例或上下文的情况下生成答案。当用户想要快速回答而不提供额外细节时,或者当主题过于笼统以至于示例会人为地限制响应时,此策略可能很有用。例如: 

为我的新狗生成 10 个可能的名字。

 一键提示

一次性策略涉及法学硕士根据用户提供的单个示例或上下文生成答案。该策略可以指导 ChatGPT 的响应并确保其符合用户的意图。这里的想法是,一个例子将为模型提供比没有更多的指导。例如:

为我的新狗生成 10 个可能的名字。
我喜欢的狗名字是香蕉。

 少发提示

少样本策略涉及法学硕士根据用户提供的一些示例或上下文片段生成答案。该策略可以指导 ChatGPT 的响应并确保其符合用户的意图。这里的想法是,多个示例将为模型提供比单个示例更多的指导。例如:

为我的新狗生成 10 个可能的名字。
我喜欢的狗名字包括:
– 香蕉
– 猕猴桃
– 菠萝
– 椰子

正如您所猜测的,提示中包含的示例越多,生成的输出就越接近所需的结果。对于零样本,可能不会建议任何水果名称;如果是一次,则可能有多个;在很少的情况下,建议可能完全由水果主题的名称组成。 

思维链提示

思路链策略包括为法学硕士提供一些示例,帮助完善原始问题并确保得到更准确和全面的答案。所谓思路提示,是因为提示中包含了一些思路示例。它与 X-shot 提示技术不同,因为思维链提示的结构是为了鼓励批判性思维,并且旨在帮助发现 ChatGPT 可能没有考虑到的新见解或方法。

该技术还鼓励法学硕士输出其批判性推理。思维链提示的名片是“让我们一步一步思考”这句话,它通常附加在提示的末尾,研究表明这足以改善生成的结果。

考虑以下一次性提示示例:

问:乔有 20 个鸡蛋。他又买了两盒鸡蛋。每箱装有 12 个鸡蛋。乔现在有多少个鸡蛋?
答:答案是44。

问:农夫约翰有 93 只鸡。如果他把 20 只卖给农夫比尔,然后又买了两倍数量的鸡,那么农夫约翰现在有多少只鸡?

 并考虑 ChatGPT 的错误输出响应:

答案是73。

 现在让我们看一下下面的思维提示链,它是为鼓励法学硕士的批判性思维而编写的:

问:乔有 20 个鸡蛋。他又买了两盒鸡蛋。每箱装有 12 个鸡蛋。乔现在有多少个鸡蛋?让我们一步步思考。
A:乔一开始有 20 个鸡蛋。2盒12个鸡蛋就是24个鸡蛋。20 + 24 = 44。因此,乔有 44 个鸡蛋,答案是 44。

问:农夫约翰有 93 只鸡。如果他把 20 只卖给农夫比尔,然后又买了两倍数量的鸡,那么农夫约翰现在有多少只鸡?让我们一步步思考。

 这次 ChatGPT 的回应有所不同:

答:农夫约翰向农夫比尔卖了 20 只鸡,所以他剩下 93 – 20 = 73 只鸡。然后他买了两倍于他卖掉的鸡的数量,所以他买了 2 * 20 = 40 只鸡。将这些新买的鸡添加到他剩余的棍子上,农夫约翰现在有 73 + 40 = 113 只鸡。

通过提供解决此问题所需的批判性思维过程的示例,并指导其逐步思考,ChatGPT 可以将相同的推理应用于我们的问题,并得出正确的答案。 

自我批评 

自我批评策略包括促使法学硕士评估其输出是否存在潜在的不准确之处或需要改进的地方。该策略可以确保 ChatGPT 提供的信息尽可能准确。它可以帮助用户调试提示并确定为什么他们没有得到符合预期的结果。

此类提示的示例如下:

请重新阅读您的上述回复。您发现您的回复有任何问题或错误吗?如果是这样,请找出这些问题或错误并进行必要的编辑。

 此示例涉及指导 ChatGPT 使用自我批评来调试其错误代码:

查看您刚刚生成的代码。目前它没有运行。您是否能够看到任何可以纠正的语法错误或流程控制错误?如果是这样,请找出有问题的代码部分并重新生成它。 

利用 ChatGPT 的自我修复能力是一项不容忽视的快速工程技术。 

迭代 

迭代或扩展策略涉及根据初始提示的输出向 LLM 提供后续提示。这涉及通过提出进一步的问题或根据每个连续的响应提出额外的请求来迭代结果。

例如,考虑让 ChatGPT 协助您为正在撰写的一本书创建大纲。第一个提示可能是这样的:

我正在写一本关于时间旅行理论的书。我还没有确定一个具体的主题。为这样一本书生成 5 个具体主题建议。对于每项建议,请提供标题和一段关于本书将涵盖的内容的描述。这本书将针对休闲读者。

 现在,假设建议的主题之一如下:

标题:“时间悖论:探索时间旅行的复杂性”

简介:《时间悖论》深入探讨了时间旅行悖论中令人费解的错综复杂之处,探索它们所呈现的迷人难题。本书探讨了各种悖论,例如引导悖论、预定悖论和信息悖论等。……

 然后,您可以使用后续提示对此进行迭代:

我会写你建议的书,《时间悖论:探索时间旅行的复杂性》。生成本书的章节大纲,包括章节和小节。

 可能的输出摘录如下:

简介
– 定义时间悖论
– 时间旅行叙事中时间悖论的意义
– 章节结构概述

第 1 章:Bootstrap 悖论
1.1 Bootstrap 悖论的本质
– 解释概念及其起源
– 来自文学、电影和现实生活轶事的关键例子
……

 然后这个迭代可以继续。进一步的提示可能是:

让我们充实一下介绍。生成本章每个部分将涵盖的内容的两段摘要。介绍的章节大纲如下。
– – –
引言
– 定义时间悖论
– 时间旅行叙事中时间悖论的意义
– 章节结构概述

 您可以看到在此示例中如何继续进一步迭代。可以使用类似的迭代来让 ChatGPT 生成代码:从概述开始,迭代概述以生成模块,在模块上生成以生成函数,最后在函数内生成代码。正如将大问题分解为更小、更易于管理的问题通常是人类成功的处方一样,ChatGPT 擅长以更容易处理的方式完成更大的任务。

协作电源技巧

看待 ChatGPT 的最佳方式是作为初级助理,无论是研究助理、编码助理、问题解决助理,还是您需要的任何助理。认识并培养这种协作氛围可以带来进一步的成功。以下是促进这种合作的一些快速提示。

提示提示

改进提示制作的一种方法是让 ChatGPT 参与其中。像这样的提示可能会带来有益的结果:

我现在可以使用什么提示来进一步帮助您完成此任务?

 然后,ChatGPT 应该生成有用提示的建议,您可以使用它来加强其进一步的响应。

模型引导提示

模型引导提示涉及指示法学硕士提示您完成所请求的任务所需的信息。这类似于告诉某人“问我你需要知道什么”。

我希望你编写一个 Python 程序来管理我的客户信息,这些信息存储在 Google Sheet 中。为了完成这项任务,请询问我您需要回答的任何问题。

 让 ChatGPT 来决定执行任务所需的信息是有益的,因为它可以消除一些猜测并阻止幻觉。当然,模型引导提示的精心设计的提示可能会让您从 ChatGPT 中回答许多不相关的问题,因此最初的提示仍然需要经过深思熟虑地编写。

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

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

相关文章

跃焱邵隼网站demo

xdm 网站的代码开源了。 今年迷上摄影和剪辑了,所以很少投入到网站的维护。 然后经过群友的一些反馈,所以决定 将网站上demo开源放出来了。 后面有机会再出一些好玩的东西。 哦 对了 3d 编辑器我已经融入地图了 年底搞一些好玩的东西出来。 可以关注…

常用的镜像命令

docker images 列出本地主机上的镜像 各个选项说明: REPOSITORY:表示镜像的仓库源 TAG:镜像的标签版本号 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 同一仓库源可以有多个 TAG版本,代表这个仓…

EtherNet/IP转 Modbus网关实现AB PLC控制变频器案例

捷米特JM-EIP-RTU网关 Modbus转ETHERNET/IP用于将多个变频器连接到Ethernet/Ip主网,以便森兰变频器可以由AB PLC控制。 配备专用于JM-EIP-RTU网关的EDS文件,AB PLC主站可以控制森兰逆变器从站。 使用 AB 系统的配置方法 1, 运行 RSLogix 500…

复习之linux存储的基本管理

一、实验环境的设定 1. 实验环境的搭建 本节内容只需要一台虚拟机 westosa reset重置虚拟机,保证实验环境的纯净配置网络实现ssh连接 重置虚拟机后,配置网络,设定ip:172.25.254.100,保证与主机可以通信 实现ssh连接…

代码随想录day13 | 226.翻转二叉树 101.对称二叉树

文章目录 一、翻转二叉树二、对称二叉树 一、翻转二叉树 使用前、后序反转最为方便。 // 使用递归三部曲 class Solution { public:TreeNode *dfs(TreeNode *root){// 前序反转if (root nullptr)return root;swap(root->left, root->right);dfs(root->left);dfs(ro…

三子棋(超详解+完整码源)

三子棋 前言一,游戏规则二,所需文件三,创建菜单四,游戏核心内容实现1.棋盘初始化1.棋盘展示3.玩家下棋4.电脑下棋5.游戏胜负判断6.game()函数内部具体实现 四,游戏运行实操 前言 C语言实现三子棋…

TEE GP(Global Platform)认证规范

TEE之GP(Global Platform)认证汇总 一、GP认证规范库 二、TEE GP认证规范文档 如果需要TEE对应的GP认证规范文档,请按照下方选择框选择TEE,然后Search,共查询到31个相关规范文档。 参考: GlobalPlatform Certification - Global…

利用python实现自增填充和脚本批量解压文件

和学弟整理学校档案 因为这个方法只用了一下午就干完了 净赚¥300 写文章记录一下 需求分析 我要储存很多个文件(几万个文件) 而且要按照文件的顺序进行排序的编号 目的是解放一下双手只用简单的ctrl cv实现命名的自增 如果没有库的话就pip install 库名 import t…

第一启富金:美联储决议及讲话来袭、黄金不改趋势性看涨前景

第一启富金基本面分析: 中国纸黄金交易通显示,全球最大黄金上市交易基金(ETF)截至07月22日持仓量为919.00吨,较上日增持5.20吨,本月止净减持2.90吨。 周二美国公布的7月消费者信心指数为117,远高于预期的111.8&#xf…

Docker Compose介绍及部署

Docker Compose介绍及部署 一、Docker Compose介绍:1、Compose简介2. YAML 文件格式及编写注意事项3. YAML数据结构 二、Docker Compose部署1、 Docker Compose 环境安装2.、Docker Compose配置常用字段3、Docker Compose 常用命令4、Docker Compose 文件结构编写配…

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法

0.摘要 我们研究了一种逐步挖掘具有鉴别性的物体区域的原则方法,使用分类网络来解决弱监督语义分割问题。分类网络只对感兴趣对象中的小而稀疏的鉴别性区域有响应,这与分割任务的要求相背离,分割任务需要定位密集、内部和完整的区域以进行像素…

C#——多线程之Task

C#——多线程之Task 前言一、Task是什么?二、各应用场景以及实例分析1.异步执行代码2.等待异步操作完成3.并行执行多个任务4.处理异常5.取消异步操作 三、一些其他问题1.WhenAll与WhenAny的区别 总结 前言 在代码编写过程中,经常会用到多线程的知识&…

Vue如何配置eslint

eslint官网: eslint.bootcss.com eslicate如何配置 1、选择新的配置: 2、选择三个必选项 3、再选择Css预处理器 4、之后选择处理器 5、选择是提交的时候就进行保存模式 6、放到独立的配置文件上去 7、最后一句是将自己的数据存为预设 8、配合console不要出现的规则…

每天一道C语言编程(2^k进制数)

题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数。 (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。 (3)…

NoSQL之 Redis 部署,配置与优化

文章目录 NoSQL之 Redis配置与优化一.关系数据库与非关系型数据库1.关系型数据库2.非关系型数据库3.关系型数据库和非关系型数据库区别4.非关系型数据库产生背景 二.Redis简介1.了解Redis2.Redis 具有以下几个优点3.Redis为何这么快 三.Redis 安装及应用1.Redis 安装部署2.Redi…

linux网卡命名规则与修改方法

一.前言: 在早期的的操作系统中例如fedora13或者ubuntu15之前网卡命名的方式为eth0,eth1,eth2,属于biosdevname 命名规范。当然这是针对intel网卡的命名规则,对于realtek类型的网卡会命名为ens33。但是这个编号往往不一…

数据库运维——MySQL主从复制

1.理解MySQL主从复制原理。 2.完成MySQL主从复制。 一、MySQL主从复制原理 MySQL主从复制是指将一个MySQL数据库服务器(称为主服务器)上的数据复制到其他MySQL数据库服务器(称为从服务器)的过程。它的原理如下: 主服…

如何利用OpenAI的函数调用特性

如何利用OpenAI的函数调用特性 函数调用能实现哪些功能? 简单来说,函数调用功能可以助你在请求方法时构建结构化的数据。因为生成模型的特性,它产生的数据往往是无结构的,即使在提示(prompt)中指定了输出格式,但实际…

3-Linux实操

Linux实践操作 开关机、重启、用户登陆注销关机&重启用户登陆和注销 用户管理添加用户修改用户密码删除用户查询用户信息切换用户查看当前用户用户组的添加和删除用户和组相关文件 实用指令指定运行级别init 命令帮助指令文件目录类时间日期类搜索查找类🔍压缩和…

新能源汽车直流充电桩和交流充电桩的区别

直流充电桩和交流充电桩的区别 你是否曾经想过,为什么有的电动汽车可以在半小时内充满电,而有的却需要几个小时?其实,这都取决于它们所使用的充电桩的不同。那么,直流充电桩和交流充电桩到底有哪些区别呢? 首先,工作…