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

AIGC: 关于ChatGPT中Prompt模板的优化

ChatGPT 模板的优化

  • 设计一个 Prompt 本质上就是设计一个有效的提问
  • 这个有效的提问是可以让 ChatGPT 能够正常的对我们进行响应
  • 在实际提问的时候,可能会发现 ChatGPT 的回复有时和我们所期望的答案差距非常的大,需要我们逐步的去优化我们的 Prompt
  • 比如你想生成一份超长的PPT,你如何让GPT帮你做这件事情呢?
    • 首先确认好主题,让GPT帮你去生成大纲
    • 在大纲的基础之上,让GPT去填充一些细节
    • 最终再输出数据源和参考进行补充
    • 这是一个逐步推理,逐步执行的过程
    • 而不是在提问的时候,直接让GPT帮你生成一份超长高质量的PPT,这种提问大概率答非所问
  • 我们不要期望能够一步到位 Prompt 的迭代是我们在使用GPT的时候的必经的阶段
    • 其实这种迭代正是GPT思维链的一种体现
    • 要求我们要像调试代码一样去调试我们的 Prompt
  • 需要根据 Prompt 的输出去进行调整/删除等等,你的输入最终决定GPT的输出
  • 通用的套路是: 明确的需求 -> Prompt的设计 -> 过程的迭代 -> 人设的保存
  • 可以遵循这个套路来制定多套 Prompt 的模板,帮助我们快速的解决问题
  • 在设计 Prompt 的时候,示例是非常重要的
    • 这里的示例既包括要求的示例,又包括输出的模板示例
    • 通过少样本的学习,让AI理解我们的要求
    • 按照模板去进行输出,能够达到较高的质量
    • 如果我们能够去贴合GPT本身的设计,贴合它的思维模式
    • 加入参数推理等等的内容,诱发AI的链式思考,能够彻底的激发GPT的能力
    • 比如博客系列前文中聊到的告诉 GPT “要一步一步的思考”
    • 这样就会激发AI的推理的能力

简化版的Prompt模板

  • 1 )设立角色

    • 属于选填项
    • 目的是为GPT设定一个工作角色,能够帮助GPT划定输出的领域,让其回答更加精确
  • 2 )需求概述和目标

    • 是必填的字段
    • 是我们让GPT输出的核心的输入
    • 在这部分需要明确的描述我们的需求和想要达到的目标, 为GPT下达任务指令
  • 3 )背景

    • 是选填的字段
    • 为GPT补充必要的背景信息,协助完善生成所需的上下文信息
    • 为GPT构建它的大局观
  • 4 )要求

    • 是选填字段
    • 是对我们的需求以及输出的一个细化
    • 要有条例性的描述,具体的需求和输出的格式补充我们所需要的这些细节
  • 5 )示例

    • 是选填项
    • 通过真实具体的事例,能够帮助GPT更好的认识我们的需求和输出的模式
    • 协助GPT按照我们的思路去进行规划
  • 总结一下,完整的 Prompt 模板包含

    • 立人设: 引导GPT专注于解决某个领域的问题
    • 列要求: 收敛需求环节,盘点你的要求,结构化表达
    • 讲示例: 通过少样本学习让GPT更懂你
    • 参数化: 用变量去影响输出, 从 1 到 N
    • 定输出: 明确你想要的输出格式,比如: 用 Markdown 语法格式化, 或表格, 图片等等
    • 下指令: 用 /功能指令 开启GPT的操作之旅

基于简化版进行优化

  • 我们所描述的 Prompt 模板,并不是一段具象的话语,而是 Prompt 构建的模块和步骤
  • 不存在简单的改几个字,就完全能够全领域通杀的 Prompt
  • Prompt 是针对于我们的具体的需求而生的
  • 当你的需求领域越细分,你的 Prompt 就会越准确

1 )基于前文中面试官 Prompt 的事例, 来尝试优化 Prompt

你是一位[/方向]邻域的面试官。
你的任务是根据我的指令提出[/数量]个[/方向]领域的常见面试问题,我将作为候选人进行回答
参照以下示例进行:
请输入指令: 如方向=大数据, 数量=1
Hadoop都具备哪些服务, 请回答
NameNode, DataNode, ResourceManager
具体要求如下:
1. 询问我输入指令
2. 交互式问答, 逐个面试题进行提问
3. 提示要简洁, 避免对我的回答进行解释
4. 全部回答完成后,需要结合领域知识对回答进行评分
5. 评分分值区间为0-100分,其中100分为满分
让我们一步一步来

2 )开始优化

你是一位专业的计算机技术的面试官, 我会输入相关请求,你将根据 `preferences`, `instruction` 和 `rules` 来辅助我更好的应对面试

初始回复: "
**我是你的面试官助手**
### Preferences:

- lang: <> else Java
- lvl: <初级, 中级, 高级> else 小白

### Menu:

用表格输出支持的 `instructions` 和 对应名称, 不需要解释具体含义:
---
请指出你的偏好, E.g.: /lang Java
回复1保持默认

`preferences`
/lang: <目标面试语言, 默认Java>
/lvl: <用户的语言能力, 小白(默认), 初级, 中级, 高级>

`instructions`
/component: 按组件提出一个面试题, 并等待我的回答
用户输入期望重点考察的组件, 请按以下模板输出该组件面试题的相关信息, 然后等待我的回答:

### 面试题

输出: **面试题**, 考察重点

/sum: 评分

针对我对于面试题的回答进行评分

/help: 输出支持的指令指引

`rules`

- 正确按输出模板渲染 markdown
- 提供面试服务前, 确认用户的偏好
- 对于同一组件的面试题要保证唯一性, 避免重复问题
- 请一步一步思考, 给用户提供专业的面试辅导
- 评分在0-100区间
"
  • 输入以上 Prompt, 我们可以看到 GPT 给与我们的回复
  • 我们回复输入 1,GPT基于我们的输入,继续和我们交互
  • 我们输入 /help,可以看到GPT给与我们的回复
  • 我们输入 /component 数据库, 这时候GPT理解了我们的需求,并确认我们的意图,要的是数据库面试题, 并提供了我们数据库相关的面试题
  • 我们输入GPT的问题的答题内容,GPT会基于我们的回答进行判断和评价
  • 我们输入 /sum, GPT会给出我们的评分
  • 我们输入 /lvl 高级,GPT会基于"高级"这个分段来重新给出面试题
  • 这样根据用户不同的偏好设置来提供不同的语言能力,以及不同语言的面试题
  • 目前多领域面试官的 Prompt, 它的功能算是比较完善的了,基本上能够覆盖我们一些的面试的需求
  • 通过迭代式的这种引导和修改,让 Prompt 更精简,同时能够达到最好的效果

http://www.kler.cn/a/149081.html

相关文章:

  • OpenGL【C++】台灯
  • 案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索
  • 《AI 使生活更美好》
  • mysql 快速解决死锁方式
  • 双十一云服务器抢购后,用SD-WAN连通多云网络
  • nuxt3添加wowjs动效
  • 人工智能_机器学习053_支持向量机SVM目标函数推导_SVM条件_公式推导过程---人工智能工作笔记0093
  • Mysql8.1.0 安装问题-缺少visual studio 2019x64组件
  • Linux内核--内存管理(三)物理内存分页机制--kmalloc及slub机制
  • 解决Maven项目jar包下载失败的问题
  • 牛客 算法题 golang语言实现
  • 实测有效的 8 个顶级Android 数据恢复工具
  • 来自2023 TM Forum 数字领导力中国峰会的邀请函
  • python实现rpc的几种方式(SimpleXMLRPCServer 自带的、第三方ZeroRPC)、连接linux远程开发分布式锁、分布式id
  • nodejs接收前端分片并组合成完整文件
  • Java中的mysql——面试题+答案(存储过程,外键,隔离级别,性能优化)——第23期
  • JS常用数据类型转换(数字型和字符串型之间转换)
  • 21.Oracle的程序包(Package)
  • 51单片机使用串口查看程序执行的数据
  • 【SpringCloud】为什么选择微服务?
  • linux常见命令合集
  • Linux文件随机抽取N行并取json的某个字段
  • qt实现一个安卓测试小工具
  • PTA-6-48 使用面向对象的思想编写程序描述动物
  • 开题答辩稿
  • ffmpeg 音视频转化