ChatGPT高效提问—prompt常见用法(续篇七)

ChatGPT高效提问—prompt常见用法(续篇七)

1.1 零样本、单样本和多样本

​ ChatGPT拥有令人惊叹的功能和能力,允许用户自由向其提问,无须提供任何具体的示例样本,就可以获得精准的回答。这种特性被称为零样本(zero shot)prompt。然而,如果你希望获得更具针对性的回答,可以选择向ChatGPT提供一个或者多个示例样本加以引导。根据提供示例样本的书了,可以分为单样本(one shot)prompt和多样本(multiple shot) prompt。

1.1.1 零样本

​ 在零样本模式下,即在没有任何示例样本的前提下,直接让ChatGPT回答问题。示例如下。

​ 输入prompt:

Screenshot 2024-02-09 at 13.27.06

ChatGPT输出:

Screenshot 2024-02-09 at 13.27.56

​ ChatGPT直接给出了对老虎的描述。

1.1.2 单样本

​ 相较于零样本prompt,单样本prompt则要求我们提供一个明确的示例。比如,可以先以特定的格式描述大象,然后引导ChatGPT以同样的格式描述老虎,从而使回答更加精准。

​ 输入prompt:

Screenshot 2024-02-09 at 13.32.14

​ ChatGPT输出:

Screenshot 2024-02-09 at 13.33.05

​ 观察输出可知,ChatGPT描述老虎的格式与我们提供的关于大象的示例样本格式高度一致。这表明,ChatGPT通过我们提供的单一样本有效地掌握了任务的执行方式。

1.1.3 多样本

​ 对于更高难度的任务,我们可以提供多更多的示例样本,这种方法被称为多样本prompt。例如,我们可以给出多个示例样本,然后让ChatGPT自行完成任务。这种方式在处理复杂任务时效果往往出奇的好。下面是一个基于情感识别的多样本示例。

​ 输入prompt:

Screenshot 2024-02-09 at 13.43.26

​ ChatGPT输出:

Screenshot 2024-02-09 at 13.44.13

​ 从上述答案可以看出,ChatGPT凭借所给的示例样本,成功判断出最后一句话所含情绪为悲观。我们还可以进一步考验它,通过随机化标签,甚至故意制造错误,来观察ChatGPT是否仍能准确地进行判断。

​ 输入prompt:

Screenshot 2024-02-09 at 13.48.03

​ ChatGPT输出:

Screenshot 2024-02-09 at 13.49.25

​ 显然,尽管我们将标签进行了随机化排列,故意使得表述错误,ChatGPT仍然能够准确地进行判断。接下来继续增加难度,这次我们不提供任何样本提示,看看ChatGPT会如何应答。

​ 输入prompt:

Screenshot 2024-02-09 at 13.55.58

​ ChatGPT输出:

Screenshot 2024-02-09 at 14.01.58

​ 观察输出结果可以发现,即使在多论对话结束后,ChatGP也能在无须示例样本的情况下,准确地生成结果。它的反应方式与人类的思考方式高度一致,展现出了极其优秀的分析和辨别能力。

​ 通过样本提示,我们可以获得更加规整、符合要求的回答。

1.2 思维链

​ 思维链(chain of thought, CoT)———prompt范式进化史上的一大功臣。简单来说,思维链就是一系列中间推理步骤。使用思维链的一大好处是无须微调模型参数,仅仅改变输入即可大幅提升模型进行复杂推理时的准确率。

​ 人类解决复杂推理问题的过程是,首先将其分解为一些中间问题,然后逐步解决,直至得到最终结论,也称“自顶向下,逐步求精”。思维链就是参考人类解决问题的方法,从输出问题开始的一系列自然语言形式的推理过程,直到输出最后的结论。和之前的提示词模式(问题,答案)不同,思维链提示词模式是:输入问题,思维链,输出结论。相较于样本提示学习,思维链提示学习有几个吸引人的性质。

  • 在思维链的加持下,模型可以将需要多步推理的问题分解为一系列中间步骤,这可以分配更多的计算资源到需要推理的问题上。
  • 思维链为模型的推理行为提供了一个可解释的窗口,使通过调试推理路径来探测黑盒语言模型成为可能。
  • 思维链推理应用广泛,不仅可以用于数学应用题求解、常识推理和符号操作等任务,而且可能适用于任何需要通过语言解决的问题。
  • 思维链的使用方式非常简单,非常容易融入语境学习(in-context learning),从而诱导大型语言模型展现出推理能力。

下面通过示例做一下对比,体会其中的区别。先看第1个示例。

​ 输入prompt:

Screenshot 2024-02-09 at 14.34.22

​ ChatGPT输出:

Screenshot 2024-02-09 at 14.35.11

​ 从输出结果来看,ChatGPT给出了错误回答。再看第2个示例。

​ 输入prompt:

Screenshot 2024-02-09 at 14.42.08

​ ChatGPT输出:

Screenshot 2024-02-09 at 14.51.12

​ 从输出结果来看,当我们给ChatGPT提供了计算推理的引导后,ChatGPT参考示例进行思考,给出了计算推理过程和正确结果,与第一个示例的错误结果形成鲜明对比。再看第3个示例。

​ 输入prompt:

Screenshot 2024-02-09 at 14.58.55

​ ChatGPT输出:

Screenshot 2024-02-09 at 15.04.22

​ 输入prompt:

这次增加了“让我们一步一步思考”,看看ChatGPT输出。

Screenshot 2024-02-09 at 15.07.06

​ ChatGPT输出:

Screenshot 2024-02-09 at 15.10.16

​ 很明显,当在prompt增加“让我们一步步思考”后,ChatGPT最后没有把送出去的苹果再加上,同样给出了正确结果,但是细节分析更加清晰和符合逻辑。简单地加上这么一句话,让ChatGPT自己先思考一下,会给出更加相信而准确的结果。

最后,总结一下使用思维链范式时的两种主要方法:

  • 输入一个多步推理的prompt模版,把我们的逻辑推导过程告诉ChatGPT;
  • 在问题的最后添加“让我们一步步思考”,让ChatGPT思考后再给出答案。

思维链让模型能够像人一样进行思考,但是人也会犯错,更何况是模型呢。为了让模型输出更加安全、准确,需要了解对抗在其中的作用。

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

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

相关文章

Electron+Vue实现仿网易云音乐实战

前言 这个项目是我跟着官方文档的那个Electron入门教程大致跑了一遍,了解了下Electron开发流程之后的实战项目,所以中间应该是会有很多写法不是很规范,安全性有可能也没考虑到,可实现的各种api也不是很了解,适合初学者。 必须感谢 https://github.com/Binaryify/NeteaseC…

第二节课[Demo]作业

基础作业 使用 InternLM-Chat-7B 模型生成 300 字的小故事 user avatar 你是一个精通isekai的勇者,现在需要你讲述一段清新脱俗的异世界日常故事,字数300字以上robot avatar 在一个普通的早晨,我像往常一样起床、洗漱、吃早餐。但是&#xf…

力扣231. 2 的幂(数学,二分查找,位运算)

Problem: 231. 2 的幂 文章目录 题目描述思路即解法复杂度Code 题目描述 思路即解法 思路1:位运算 1.易验证2的幂为正数; 2.易得2的幂用二进制表示只能有一个位为数字1 3.即将其转换为二进制统计其二进制1的个数 思路2:数学 当给定数n大于1时…

基于tomcat运行jenkins常见的报错处理

目录 1.jenkins.util.SystemProperties$Listener错误 升级jdk11可能遇到的坑 2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration 3.There were errors checking the update sites: UnknownHostException:updates.jenkins.i…

redis双写一致

redis双写一致,指的是redis缓存与mysql数据同步 双写一致常见方案有很多: 同步双写:更新完mysql后立即同时更新redis mq同步:程序在更新完mysql后,投递消息到中间键mq,一个程序监听mq,获得消…

全网最快2024刘谦春晚魔术揭秘

早点关注我,精彩不错过! 来来来,我的手机快被私信爆炸了,一次性给大家说清楚。 原版 Woody Arogon的教学《Woodyland》 数学原理 约瑟夫问题与魔术(五)——魔术《自我匹配的奇迹》中的数学原理 魔术原理 约…

Doris中的本地routineload环境,用于开发回归测试用例

----------------2024-2-6-更新-------------- doris的routineload,就是从kafka中加载数据到表,特点是定时、周期性的从kafka取数据。 要想在本地开发测试routine load相关功能,需要配置kafka环境,尤其是需要增加routine load回…

春晚刘谦第二个魔术原理讲解

目录 1. 先说一下步骤:2. 原理讲解:2.1 第一步分析2.1 第二步分析2.1 第三步分析2.1 第四步分析2.1 第五步分析2.1 第六步分析2.1 第七步分析2.1 第八步分析2.1 第七步重新分析 小结: 首先,先叠个甲。我本人很喜欢刘谦老师&#x…

C语言函数的栈帧与销毁(面试亮点)

目录 如果你能熟练的掌握函数的栈帧与销毁在面试中是及其亮眼的加分项,所以我们来以实例来将解函数是如何实现栈帧与销毁的。 一. 函数栈帧 二.寄存器 三. 用例题讲解创建栈帧的过程 3.1 main 函数的反汇编代码。 第一步:给调用main函数的函数分配…

使用 Elasticsearch 和 OpenAI 构建生成式 AI 应用程序

本笔记本演示了如何: 将 OpenAI Wikipedia 向量数据集索引到 Elasticsearch 中使用 Streamlit 构建一个简单的 Gen AI 应用程序,该应用程序使用 Elasticsearch 检索上下文并使用 OpenAI 制定答案 安装 安装 Elasticsearch 及 Kibana 如果你还没有安装好…

Linux死机排查方法——内存日志

一般情况下,Linux系统在死机时会产生一些dump信息,例如oops,通过分析oops信息就可以基本定位问题所在,但有些特殊情况下死机时,没有任何的打印的信息。如果直接使用printk等打印排查问题,有可能会因为print…

生成式人工智能攻击的一年:2024

趋势科技最近公布了其关于预期最危险威胁的年度研究数据。生成人工智能的广泛可用性和质量将是网络钓鱼攻击和策略发生巨大变化的主要原因。 趋势科技宣布推出“关键可扩展性”,这是著名年度研究的新版本,该研究分析了安全形势并提出了全年将肆虐的网络…

以管理员权限删除某文件夹

到开始菜单中找到—命令提示符—右击以管理员运行 使用:del /f /s /q “文件夹位置” 例:del /f /s /q "C:\Program Files (x86)\my_code\.git"

动态SQl简单创建

创建pojo实体类,使用lombok注解 package com.example.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.time.LocalDate; import java.time.LocalDateTime;Data NoArgsConstructor AllArgsConstructor pu…

记:STM32F4参考手册-存储器和总线架构

STM32F4参考手册-存储器和总线架构 系统架构 主系统由32位多层AHB总线矩阵构成,可实现以下部分部分的互连: 八条主控总线: Cortex-M4F内核I总线、D总线和S总线 DMA1存储器总线 DMA2存储器总线 DMA2外设总线 以太网DMA总线 USB OTG HS DMA总线…

秒杀相关问题解决

秒杀 超卖问题 如下,我们先来复现问题,抢购秒杀券的代码逻辑也是很简单, 先判断优惠券是否开始了,是的化,判断库存是否充足,如果是的化,扣减库存,最后创建订单 如下是代码 Override Transactional public Result seckillVoucher(Long voucherId) {//1.查询优惠券SeckillVo…

力扣刷题之旅:进阶篇(六)—— 图论与最短路径问题

力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。 --点击进入刷题地址 引言 在算法的广阔天地中,图论是一个非常重要的领域。…

linux 07 存储管理

02. ext4是一种索引文件系统 上面是索引节点inode,存放数据的元数据 下面是存储块block,主要存放有关的信息 03.linux上的inode 查看文件中的inode ll -i 文件名 磁盘中的inode与文件数量 向sdb2中写文件: 结果: df -i 磁…

blender几何节点中样条线参数中的系数(factor)是个什么概念?

一根样条线,通常由两个及以上的控制点构成。 每个控制点的系数,其实相当于该点处位于整个样条线的比值。 如图,一根样条线有十一个控制点。相当于把它分成了十段,那每一段可以看到x、y都是0,唯独z每次增加0.1&#xff…

JVM-双亲委派机制

双亲委派机制定义 双亲委派机制指的是:当一个类加载器接收到加载类的任务时,会自底向上查找是否加载过, 再由顶向下进行加载。 详细流程 每个类加载器都有一个父类加载器。父类加载器的关系如下,启动类加载器没有父类加载器&am…