AIGC: 关于ChatGPT抽象Prompt提问模板的设计

为什么需要Prompt模板

  • 基于前文我们具备了Prompt构建的基础能力,但是我们在实际编写Prompt的过程当中,可能还会存在一些的问题
    • 比如对于背景和细节的描述还是不够
    • 或者为了描述的清楚堆砌了大量的文字, 导致整个Prompt的结构化和可读性呢是比较差的
    • 从而GPT没有正确理解需求,导致输出的结果不及预期
  • 所以需要我们去总结Prompt工程相关知识,为我们自己去构建Prompt的一个相对来说比较标准化的模板
  • 帮助我们更灵活可扩展的去套用Prompt,实现不同领域不同问题的提问

如何设计Prompt模板

  • 第一步是需要结合前文理清好的Prompt,应该怎样去进行设计?
  • 那我们的 Prompt 模板都需要包含哪些内容呢?
    • 需要去整合Prompt的提示以及提问的要素,使其能够覆盖大部分的场景
    • 我们在不同的领域,可以通过去套用这个模板的结构,然后进行解决,生成我们的Prompt
    • 可以回顾一下 Prompt 它的核心的内容,就可以梳理出常用的模板,都有哪些模块了
      • 这样在不同的领域,我们就可以去复用模板的基础的结构
      • 然后通过模板去套用其他的问题来进行解决,这也是我们设计Prompt模板的一个初衷
    • 回顾一下Prompt的核心内容, 梳理出promot模板都含有哪些模块
      • 当我们有一个问题期望得到GPT帮助的时候,我们需要去明确我们的需求和目标,对需求和目标进行拆分
      • 为了让GPT能够对我们的问题有一个大局观,我们还需要去提示必要的背景或者事例。
      • 如果我们有更加详细的约束要求,比如实现步骤输出格式等等,也可以一并去提出这些要求。
    • 经过我们的梳理之后,最终会得到一个相对简化的Prompt模板的一个示例
  • 简化的 Prompt 模板示例
    • 整个Prompt共包含五个部分,分别是:
    • 1 )设立角色
      • 属于选填项
      • 目的是为GPT设定一个工作角色,能够帮助GPT划定输出的领域,让其回答更加精确
    • 2 )需求概述和目标
      • 是必填的字段
      • 是我们让GPT输出的核心的输入
      • 在这部分需要明确的描述我们的需求和想要达到的目标, 为GPT下达任务指令
    • 3 )背景
      • 是选填的字段
      • 为GPT补充必要的背景信息,协助完善生成所需的上下文信息
      • 为GPT构建它的大局观
    • 4 )要求
      • 是选填字段
      • 是对我们的需求以及输出的一个细化
      • 要有条例性的描述,具体的需求和输出的格式补充我们所需要的这些细节
    • 5 )示例
      • 是选填项
      • 通过真实具体的事例,能够帮助GPT更好的认识我们的需求和输出的模式
      • 协助GPT按照我们的思路去进行规划

基于上述模板去构建一个Prompt

  • 比如我们很多人都会在网上去找一些面试题
  • 可以让GPT充当我们的面试官,向我们出题,我们进行回答
  • 回答完毕之后,再让GPT对我们的回答进行一下评价
  • 我们可以通过Prompt的模板对这个场景去进行一下设计
  • 让GPT通过面试的形式,对我们去进行一个测试

关于设定角色和需求目标

  • 根据模板,我们的提示公式是: 你是什么角色,我需要你做什么,达到什么目标。
  • 示例:你是一位大数据领域的面试官,你的任务呢是提出3个大数据行业的常见面试问题,我将会作为候选人进行回答
    • 通过我们的输入,我们指定了GPT它的角色
    • 明确了GPT的任务是提出三个大数据行业的面试题
    • 在这里,对于面试题,我们增加了限定范围,这里是提问要素的一个体现

关于背景

  • 我们遵循Prompt模板来看,下一步是背景的描述
    • 背景描述的意义有助于GPT可以更好的去掌握全貌
    • 对于它不了解的内容去进行补充。那么这里其实就存在一个问题
    • 我们怎样去判断GPT是不是对于某一个背景有所了解
      • 最常用的方法可以通过试探GPT的方式
      • 比如试探GPT是否了解大数据行业,我们可以试着去询问的GPT, 你了解大数据行业吗?
      • 如果GPT能够给出相对准确的答案,则说明这个背景呢,GPT是了解的,我们不需要进行额外的补充
      • 如果GPT不清楚这个概念, 则需要我们对GPT去进行背景的描述
      • 如果我们在回答的过程当中,可能会用到了公司内部的系统或者组件。
      • 为了让GPT能够理解我们回答的内容。我们可能就需要对于相关的这些专有的名词进行介绍
        • 比如在公司有一个内部系统叫做xx平台(xx是这个平台的名称举例), 该平台是一个调度平台
        • 为了让GPT能了解什么是xx平台, 我们可以通过名词介绍,通过背景去将xx平台的含义告诉GPT
        • 比如我们告诉GPTxx平台是支持时间依赖等触发模式的调度系统和yy系统是比较类似的。(备注: yy系统是其他类比系统)
      • 这样, 我们在提到xx平台的时候,GPT其实对yy平台是有所了解的,是符合我们预期的,这是对于背景。

关于要求

  • 然后是要求, 对于要求, 我们需要保证结构和条理的清晰
    • 我们可以通过1,2,3的这种形式去进行描述
    • 比如对于我们的GPT面试官,我们提出几个具体的要求
      • 1 )首先我们想要GPT, 一个一个的对我们进行提问
      • 2 )不要对我的答案去进行过多的解释
      • 3 )当问题全部回答完成之后,需要对我们的答案去进行评分
      • 4 )评分的分值区间为0 ~ 100分, 其中 100 分为满分

关于示例

  • 为了让GPT更好的理解我们的想法, 我们也可以给出一个简单的示例
    • 通过少样本对GPT进行引导,便于GPT输出符合我们预期的答案。
    • 比如我们可以告诉GPT, 你可以参照以下的示例进行,比如:
      • 你问: Hadoop都具备哪些服务
      • 我答: NameNode, DataNode, ResourceManager等等的这些服务
  • 结合Prompt模板以及我们刚才所提到的GPT作为一个面试官,他的角色需求目标以及背景要求和示例
  • 最终我们设计出了一段Prompt的文字
  • 接下来,我们就可以针对这里的Prompt去进行一个实际的测试了
  • 从整个模拟的测试中,可以现在看到
    • 基于我们的模板构建了我们提问的Prompt
    • GPT正确的理解了我们的要求,对大数据相关的问题进行了提问
    • 并且对我们的答案进行了评分, 以及其他的一些问题说明

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

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

相关文章

linux开启apache服务

vim /etc/apache2/ports.conf 键盘输入i 进入插入编辑模式,修改apache2默认监听端口号为8080 ,编辑好后,按Esc键“:wq!” 保存退出。(注:端口也可以不修改) 在终端输入“/etc/init.d/apache2 …

Python基础入门例程62-NP62 运动会双人项目(元组)

最近的博文: Python基础入门例程61-NP61 牛牛的矩阵相加(循环语句)-CSDN博客 Python基础入门例程60-NP60 跳过列表的某个元素(循环语句)-CSDN博客 Python基础入门例程59-NP59 提前结束的循环(循环语句)-CSDN博客 目录 最近的博文: 描述</

【HarmonyOS】ArkTS开发@Styles装饰器和@Extend装饰器详解

文章目录 HarmonyOS详解ArkTS详解ArkTS装饰器深度解析:@Styles、@Extend、和stateStyles@Styles装饰器:优雅的组件样式定义与重用@Extend装饰器:扩展原生组件样式的利器stateStyles:多态样式的应用示例场景:装饰器的联合使用进阶应用:动态样式与交互最佳实践:样式的组织…

[JVM] 垃圾回收算法

1. 标记—清除算法 标记—清除算法是最基础的垃圾回收算法&#xff0c;后续的垃圾收集算法都是基于标记—清除算法进行改进而得到的。标记—清除算法分为“标记”和“清除”两个阶段&#xff0c;首先标记出所有需要回收的对象&#xff0c;在标记完成后统一回收所有被标记的对象…

01_MySQL介绍及安装

#任务背景 一、真实案例 某公司现在有几套不同版本的MySQL数据库&#xff0c;现在大部分的生产和测试环境都已经切换到5.7版本&#xff0c;由于历史原因&#xff0c;有一套测试环境版本为MySQL-5.5。现为了将测试环境版本统一&#xff0c;需要将原来测试环境数据库MySQL-5.5版…

[JVM] 常用调优参数

随着Java应用程序的不断发展和优化&#xff0c;JVM调优已经变得越来越重要。在这篇文章中&#xff0c;我们将探讨一些常用的JVM调优参数&#xff0c;了解如何更好地优化Java应用程序的性能。 文章目录 1. -Xmx2. -Xms3. -XX:PermSize和-XX:MaxPermSize4. -XX:NewRatio5. -XX:Ma…

B/S前后端分离的Java医院云HIS信息管理系统源码(LIS源码+电子病历源码)

HIS系统采用主流成熟技术开发&#xff0c;软件结构简洁、代码规范易阅读&#xff0c;SaaS应用&#xff0c;全浏览器访问前后端分离&#xff0c;多服务协同&#xff0c;服务可拆分&#xff0c;功能易扩展。多医院、多集团统一登录患者主索引建立、主数据管理&#xff0c;统一对外…

RPC和HTTP的区别

目录 1、RPC是什么 1.1 概念 1.2 RPC的组成部分 1.3 常见的 RPC 技术和框架 1.4 RPC的工作流程 2、HTTP是什么 2.1 概念 2.2 HTTP的消息格式 2.3 HTTP响应状态码有哪些 3、⭐RPC和HTTP的区别 小结 1、RPC是什么 1.1 概念 RPC&#xff08;Remote Procedure Call&am…

pip常用命令总结

pip是一个命令行程序。安装pip完成后&#xff0c;系统会添加一个pip命令。大家最常用的就是pip install。 1、下面介绍一下它的选项&#xff1a; 1. -r&#xff0c;--requirement <file>&#xff0c;从给定的需求文件中进行安装&#xff0c;此选项可多次使用; 2. -c&…

YOLOv8改进 | 2023 | FocusedLinearAttention实现有效涨点

论文地址&#xff1a;官方论文地址 代码地址&#xff1a;官方代码地址 一、本文介绍 本文给大家带来的改进机制是Focused Linear Attention&#xff08;聚焦线性注意力&#xff09;是一种用于视觉Transformer模型的注意力机制(但是其也可以用在我们的YOLO系列当中从而提高检测…

C++ Boost 异步网络编程基础

Boost库为C提供了强大的支持&#xff0c;尤其在多线程和网络编程方面。其中&#xff0c;Boost.Asio库是一个基于前摄器设计模式的库&#xff0c;用于实现高并发和网络相关的开发。Boost.Asio核心类是io_service&#xff0c;它相当于前摄模式下的Proactor角色。所有的IO操作都需…

leetCode 100. 相同的树 和 leetCode 101. 对称二叉树 和 110. 平衡二叉树 和 199. 二叉树的右视图

1.leetCode 100. 相同的树 C代码&#xff1a; class Solution { public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p nullptr || q nullptr) return pq;return p->val q->val && isSameTree(p->left,q->left) && isSameTree(p->righ…

详解Java中的异常体系机构(throw,throws,try-catch,finally,自定义异常)

目录 一.异常的概念 二.异常的体系结构 三.异常的处理 异常处理思路 LBYL&#xff1a;Look Before You Leap EAFP: Its Easier to Ask Forgiveness than Permission 异常抛出throw 异常的捕获 提醒声明throws try-catch捕获处理 finally的作用 四.自定义异常类 一.异…

openEuler20.03学习01-创建虚拟机

赶个时髦&#xff0c;开始学习openEuler 20.03 (LTS-SP3) 操作系统iso下载地址&#xff1a;https://repo.openeuler.openatom.cn/openEuler-20.03-LTS-SP3/ISO/x86_64/openEuler-20.03-LTS-SP3-x86_64-dvd.iso 公司有现成的vmware环境&#xff0c;创建虚拟机i测试&#xff0c…

Java视频直播技术架构详解

引言 随着互联网的不断发展&#xff0c;视频直播技术成为在线娱乐和沟通的重要组成部分。在众多的视频直播平台中&#xff0c;Java作为一种强大而灵活的编程语言&#xff0c;被广泛应用于构建稳定、高效的视频直播系统。本文将深入探讨Java视频直播技术的架构&#xff0c;包括…

EM@常见平面曲线的方程的不同表示方式

文章目录 abstract常见曲线的不同形式小结:一览表分析圆锥曲线的极坐标方程非标准位置的圆锥曲线参数方程应用比较 refs abstract 常见平面曲线的方程的不同表示方式 常见曲线的不同形式 下面以平面曲线为对象讨论参数方程通常是对普通方程的补充和增强,曲线的普通方程(直角…

【pandas】数据透视表【pivot_table】

pivot_table pandas的pivot_table函数是一个非常有用的工具&#xff0c;用于创建一个数据透视表&#xff0c;这是一种用于数据总结和分析的表格形式。 以下是pivot_table的基本语法&#xff1a; pandas.pivot_table(data, valuesNone, indexNone, columnsNone, aggfuncmean,…

[JVM] 字节二面~简述垃圾回收以及类加载过程,别说八股文,我想看到你自己的理解

GC 的三种收集方法&#xff1a;标记清除、标记整理、复制算法的原理与特点&#xff0c;分别用在什么地方&#xff0c;如果让你优化收集方法&#xff0c;有什么思路&#xff1f; ● 标记清除&#xff1a; 先标记&#xff0c;标记完毕之后再清除&#xff0c;效率不高&#xff0c…

基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(三)

目录 前言总体设计系统整体结构图系统流程图 运行环境爬虫模型训练实际应用 模块实现1. 数据准备1&#xff09;爬虫下载原始图片2&#xff09;手动筛选图片 2. 数据处理1&#xff09;切割得到人物脸部2&#xff09;重新命名处理后的图片3&#xff09;添加到数据集 3. 模型训练及…

系列五、Spring整合MyBatis不忽略mapper接口同目录的xxxMapper.xml

一、概述 默认情况下maven要求我们将xml配置、properties配置等都放在resources目录下&#xff0c;如果我们强行将其放在java目录&#xff0c;即将xxxMapper.xml和xxxMapper接口放在同一个目录下&#xff0c;那么默认情况下maven打包时会将这个xxxMapper.xml文件忽略掉&#xf…