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

2024-02-09 22:12

本文主要是介绍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思考后再给出答案。

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

这篇关于ChatGPT高效提问—prompt常见用法(续篇七)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695417

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API