当前位置: 首页 > news >正文

ChatGPT高效提问—prompt基础

ChatGPT高效提问—prompt基础

​ 设计一个好的prompt对于获取理想的生成结果至关重要。通过选择合适的关键词、提供明确的上下文、设置特定的约束条件,可以引导模型生成符合预期的回复。例如,在对话中,可以使用明确的问题或陈述引导模型生成相关、具体的回答;在摘要生成中,可以提供需要摘要的文章段落作为prompt,以确保生成的摘要准确而精炼。

1.1 prompt基本原则

  • 简明清晰

    切忌表述复杂或含有歧义,尽可能简洁地表达主题,避免不必要的描述,以便ChatGPT准确理解我们的意图。使用简单易懂的语言,避免使用复杂的术语或语法结构。如果有术语,应该定义清楚。

不合格的prompt示例:

Screenshot 2024-02-05 at 09.13.34

合格prompt的示例:

Screenshot 2024-02-05 at 09.17.21

  • 具体化

    提供尽可能具体和详细的信息,以便ChatGPT更好地理解我们的意图。应提供相关的关键词、时间、地点和其他必要的细节

不合格的prompt的示例:

Screenshot 2024-02-05 at 09.21.55

合格的prompt的示例:

Screenshot 2024-02-05 at 09.23.08

  • 聚焦

    prompt一定要一针见血、关键点明确,避免问题太宽泛或太开放。

    不合格prompt的示例:

    Screenshot 2024-02-05 at 09.39.35

​ 合格prompt的示例:

Screenshot 2024-02-05 at 09.44.59

  • 要有上下文

    在prompt中给出上下文信息,以便ChatGPT更好地理解我们的需求。

    不合格的prompt的示例:

    Screenshot 2024-02-05 at 10.00.23

​ 合格prompt的示例:

Screenshot 2024-02-05 at 10.03.11

  • 确定生成目标

    在prompt中明确指定生成目标。这可以帮助ChatGPT更好地理解我们的意图,生成更精确的回复。

    不合格prompt的示例:

    Screenshot 2024-02-05 at 10.19.10

​ 合格prompt的示例:

Screenshot 2024-02-05 at 10.23.36

  • 使用正确的语法、拼写以及标点符号

​ 在编写prompt时,一定要注意语法、拼写以及标点符号的正确性,尤其是在使用英文prompt的时候,否则可能会造成ChatGPT生成的内容与你的预期相去甚远。

​ 不合格prompt的示例:

Screenshot 2024-02-05 at 10.34.44

​ 合格prompt的示例:

Screenshot 2024-02-05 at 10.35.33

  • 验证准确性

    编写完prompt后,须仔细检查以确保它准确表达了你的意图。尽可能想象不同的回复和场景,并确保prompt在这些情况下仍然准确和相关。

1.2 prompt组成元素

一个基础的prompt需要包含几个元素,如表所示。

基础prompt组成要素

中文名称英文名称是否必填含义
指令instruction必填希望模型执行的具体任务
语境context选填也称上下文,可以引导模型输出更好的回复
输入数据input data选填向模型提供需要处理的数据
输出指标output indicator选填告知模型输出的类型或格式

按照这个格式写prompt,模型返回的结果一般不会差。当然,prompt不一定要包含所有4个元素,而可以根据自己的需求排列组合。下面就以“策划年会流程”为例,看看如何使用这4个元素,如表所示。

基础prompt组成要素示例

中文名称prompt中的描述
指令策划年会流程
语境公司举办年会
输入数据领导发言、奖品发放、才艺表演等环节
输出指标Markdown格式

输入prompt:

Screenshot 2024-02-05 at 10.55.57

ChatGPT输出:

Screenshot 2024-02-05 at 10.57.26

                                                                                                                                                                                                                                                                                                                                                                      费功夫你v小肉肉肉肉            qX c

从输出结果来看,ChatGPT按照要求策划了公司年会流程,包括必要的几个环节,并以Markdown格式输出。下面介绍稍微复杂一些的prompt组成元素,其完备性更高,比较适用于编写prompt模板,如表所示。

高级prompt组成要素

中文名称英文名称是否必填含义
能力与角色capacity and role选填希望模型扮演什么角色
洞察力Insight选填背景信息或上下文
指令statement必填希望模型做什么
个性personality选填希望模型以什么风格或方式回答
尝试experiment选填要求模型提供多个答案

将以上元素组合在一起,就形成了一个更详细、更明确的prompt,我们称之为高级prompt。对比基础prompt,使用高级prompt生成的结果会更加精确,相关性也更强。以“用鲁迅的风格进行创作”为例,高级prompt的组成要素如表所示。

中文名称prompt中的描述
能力与角色文学家鲁迅
洞察力指定年代背景、1980年
指令写日记
个性文言文的形式
尝试三篇

输入prompt:

Screenshot 2024-02-05 at 20.47.13

ChatGPT输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Screenshot 2024-02-05 at 20.49.25

从输出结果来看,ChatGPT比较成功地以鲁迅的风格撰写了三篇日记,语言生动,符合预期。因此,对于更复杂的任务,大家可以参考高级prompt组成元素进行输入。

备注:以上的案例都在小蜜蜂AI学习网站完成,网址:https://zglg.work。

相关文章:

  • Coreline Soft x Incredibuild
  • 蓝桥杯Web应用开发-浮动与定位
  • pytorch——保存‘类别名与类别数量’到权值文件中
  • 华为mpls vpn hubspoke经典案例组网
  • Linux的7个运行级别
  • No matching client found for package name ‘com.unity3d.player‘
  • docker部署自己的网站wordpress
  • [Vue3]父子组件相互传值数据同步
  • 【linux】通过脚本、系统服务监控开机时间和 cpu 温度
  • wins 安装 tensorflow keras
  • HuTool工具使用(JSONUtil+JSONObject+JSONArray)
  • 3593 蓝桥杯 查找最大元素 简单
  • Leetcode—42. 接雨水【困难】
  • 项目02《游戏-08-开发》Unity3D
  • HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)
  • 【笔记】你不知道的JS读书笔记——Promise
  • 07.Android之多媒体问题
  • 10个确保微服务与容器安全的最佳实践
  • express.js的介绍及使用
  • Java编程基础24——递归练习
  • LeetCode18.四数之和 JavaScript
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Linux gpio口使用方法
  • Octave 入门
  • React Native移动开发实战-3-实现页面间的数据传递
  • Redis在Web项目中的应用与实践
  • Spring框架之我见(三)——IOC、AOP
  • TypeScript迭代器
  • vue中实现单选
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从输入URL到页面加载发生了什么
  • 给新手的新浪微博 SDK 集成教程【一】
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何在GitHub上创建个人博客
  • 入门到放弃node系列之Hello Word篇
  • 深入浅出webpack学习(1)--核心概念
  • 十年未变!安全,谁之责?(下)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 微服务核心架构梳理
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Visual Studio开发以太坊智能合约
  • 函数计算新功能-----支持C#函数
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (NSDate) 时间 (time )比较
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)