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思考后再给出答案。

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

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

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

相关文章

Python编写远程控制工具--被控端的编写

本节将开始着手用Python编写远程控制工具。因篇幅限制,这里主要编写两 个常用的功能:命令执行和文件传输。当然,好的远程控制工具的功能远远不只 这些,读者可以在此基础上增加新的功能。具体步骤如下。 1)编写主函数并…

每日一题——LeetCode1417.重新格式化字符串

方法一 个人方法: s里的字符只有小写字母和数字两种情况,我们可以把s里的字母和数字分隔成两个字符串, 比较两个字符串的长度,只有当两个字符串的长度差值的绝对值为1或0才能满足题意。 长度更长的要放在结果字符串的第一位&am…

写一个python基于线程池的多线程

下面是一个示例程序,它使用Python的concurrent.futures模块中的线程池来实现多线程操作: import concurrent.futuresdef worker(arg):print(fWorking on {arg})return arg * 2if __name__ __main__:# 创建线程池with concurrent.futures.ThreadPoolExe…

嵌入式学习之Linux入门篇笔记——18,makefile基本语法(下)

配套视频学习链接:http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 1.wildcard 函数 格式:$(wildcard PAT…

SQL如何实现数据表行转列、列转行?

SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集。本文将介绍在SQL中如何实现数据表地行转列、列转行操作,以及实际应用示例。 这里通过表下面三张表进行举例 SQL创建数据库和数据表 数据表示例数据分别如下: data_…

数据湖的整体思路

湖本质上是一个集中化,中心化的,一体化的存储技术,并且在其之上追求技术架构的统一化,如流批一体,服务分析一体化。 当数据湖成为中心,那么就可以围湖而建“数据服务环”,环上的服务包括了数仓、…

鸿蒙开发(六)布局概述

迄今为止,我还没有正式提到布局的概念。但其实我之前的demo里面,已经默认使用到了一种布局,那就是线性布局(Row、Column),这也是DevEco创建项目默认页面里面默认采用的布局。那么本篇,带着大家一…

微服务介绍、使用 Nacos 实现远程调用以及 OpenFeign 的使用

1 微服务的概念 区别于单体项目 单体项目拆分成微服务项目的目标:高内聚、低耦合 拆分思路 纵向拆分:根据功能模块 横向拆分:抽取可复用模块 2 微服务拆分——远程调用 背景:微服务单一职责,每个服务只有自己的功能…

[PYthon] 字典

如题,这篇博客将带大家来学习Python中的字典~ 那么,是我们想象中的那种字典嘛?接下来跟着可莉去一探究竟吧~ 可莉将这篇文章收录在了:《Python》 可莉推荐的优质博主主页:Keve ’ s blog Python 中的字典(D…

-转换流-

它是字节流和字符流之间转换的桥梁 转换流本身其实是字符流; 转换流的位置: 分为两个:字符转换输入流:InputStreamReader将InputStream转换为Reader字符转换输出流:OutputStreamWriter将Writer转换为OutputStream 作用…

4.2 Verilog 过程赋值

关键词:阻塞赋值,非阻塞赋值,并行 过程性赋值是在 initial 或 always 语句块里的赋值,赋值对象是寄存器、整数、实数等类型。 这些变量在被赋值后,其值将保持不变,直到重新被赋予新值。 连续性赋值总是处…

C++ 11新特性之可变参数模板

概述 随着C 11标准的发布,C语言获得了许多强大的新特性,其中一项显著提升灵活性和实用性的创新便是可变参数模板。这一特性极大地扩展了模板在处理不定数量类型或值参数时的能力,为开发者提供了更为强大且灵活的泛型编程工具。 工作机制 在C …

LeetCode Python - 6.Z字形变换

文章目录 题目答案运行结果 题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输…

Qualcomm 蓝牙耳机 FAQ(41)---------Audio 问题分析之 ACAT Tools安装

大家好! 新的一年,在此祝大家:新年快乐!工作上步步高升!!龙年大吉!!! 也欢迎大家登录大大通平台,春节期间正常更新文章,期待你的到来&#xff0…

语义分割任务的准确率计算:基于PyTorch实现

语义分割任务的准确率计算:基于PyTorch实现 🌵文章目录🌵 🌳引言🌳🌳语义分割任务概述🌳🌳准确率的定义与计算方法🌳🌳实践应用与优化策略🌳&…

《Django+React前后端分离项目开发实战:爱计划》 03 理解项目结构

03 Understanding the Project Structure 《Django+React前后端分离项目开发实战:爱计划》 03 理解项目结构 Let’s look the project files created for us, Open the project folder backend in the code editor. 让我们看看为我们创建的项目文件,在代码编辑器中打开项目…

跟我学C++中级篇——函数模板的匹配

一、介绍和说明 在本文会尝试着把函数的重载以及模板自动推导等方法结合起来,一起分析模板函数的匹配的方式和原则。在普通的函数重载和普通的模板函数中,都比较容易理解调用哪一类,但在一些较为少用或者复杂的情况下,可能会发现…

《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)

文章目录 7.1 配置和使用 MySQL 监控工具7.1.1 基础知识7.1.2 重点案例:使用 Python 和 Prometheus 监控 MySQL 性能7.1.3 拓展案例 1:自动化 MySQL 慢查询日志分析7.1.4 拓展案例 2:实时警报系统 7.2 解读 MySQL 日志文件7.2.1 基础知识7.2.…

使用django构建一个多级评论功能

,评论系统是交流和反馈的重要工具,尤其是多级评论系统,它允许用户回复特定评论,形成丰富的对话结构。这个文章是使用Django框架从零开始构建一个多级评论系统。Django是一个高级Python Web框架,它鼓励快速开发和干净、…

FastAPI使用异步motor实现对mongodb的增删改查

一、环境准备: 需要有mongodb和poetry以及Python3.10 二、克隆示例代码到本地 git clone gitgithub.com:waketzheng/fastapi_async_mongo_demo.git 三、安装依赖 cd fastapi_async_mongo_demo poetry shell poetry install 四、启动服务 python app/main.py …