10种实用的Prompt技巧图解

news2024/9/23 15:28:04

收集整理了prompt engineering的10种实用技巧,以图解的方式解释了它们的主要原理。

本文追求以极简风格逼近这些方法的第一性原理,把黑话翻译成人话,并使用图片范例进行说明。

同时也加入了一些自己的理解,如有出入欢迎指正。

262f4e7a7a027d61e535a14e23ee166a.png

一,Structured Prompt (结构化提示词)

可以按照 prompt = 角色 + 任务 + 要求 + 提示  的结构设计清晰明了的提示词。

简单地说,这个结构就是要告诉chatgpt: 你是谁?你要做什么?要做成什么样?要如何做?

6c2cfe4a37e4c32fbe7b0c60682edbc0.png

二,Prompt Creator (提示词生成器)

简单地说,就是让ChatGPT扮演一个提示词生成专家,帮助你完成/完善/改进 你的prompt。

1e02fee8d9cb3c9240aee70ec3ef7209.png

三,One/Few Shot Prompt   (单样本/少样本提示)

没有范例:zero shot;给1个范例 one shot;几个范例:few shot;

如果有许许多多的范例,可以尝试finetune模型权重。

436cd2776c8f88c9efb8a865bbf61975.png

四,COT(Chain of Thought,思维链)

在few shot prompt的范例中给出思维链,让模型学习不仅输出结果还要给出思考过程。可以显著提升LLM的表现。

5e7936410c7eed1b226403518688836a.png

五,Self-Consistency COT (一致性思维链)

把temprature 调成大于0,如0.4. 然后让模型多回答几次,对回答结果进行投票,可以显著改善 COT。

4945a1ea6bd15b3c3bf1f00f185f0978.png

六,Zero-Shot COT (零样本思维链)

不提供范例,只在prompt的结尾加入"Let's think step by step (让我们一步步思考)“ 能够取得接近 COT的效果。

433748beecd29e16edfbb51105fe32fd.png

也可以试试: Let's work this out in a step by step way to be sure we have the right answer.  让我们逐步解决这个问题,以确保我们得到正确的答案。

根据测试这个 咒语效果更好。

f7c303242e238486a4c3ad0ce78f20ee.png

七,Self-ask Prompt   (自我提问)

在prompt范例中引导LLM将一个复杂的问题拆分为简单的子问题,逐个回答,然后汇总成为答案。

和COT思维链效果有些类似,但同时要求LLM提出子问题并给出答案,对生成内容的约束更大,有时候效果更好。

84698b203b5ecd3b27128929abc97fa1.png

八,ReACT(Reaon+Act 协同思考和动作 )

按照 think(思考)->act(行动)->observation(观察)->think→act→observation...的模式来解决问题。

ReACT是以强化学习这种范式实现的,需要定义一个可以交互的环境env。

智能体agent就是LLM。act就是和环境交互(如查询互联网,调用工具,执行代码等)。

02888eeb519d796724003cb21a07b956.png

AutoGPT也是这种强化学习范式prompt的产物,AutoGPT设计的主要prompt模式如下:

Thoughts(当前的思考)->Reasoning(推理过程->Plan(后续计划)->Criticism(自我批判审视)->Next action(下一步行动)

九,Reflexion (失败后自我反思)

按照 任务->尝试->评估->如果失败则反思(Reflection)失败原因->再次尝试→...的模式来解决问题。

加了Reflection步骤可以明显提升成功率。作者认为反思步骤可以帮助LLM建立长期记忆或者经验。

Reflection也是以强化学习范式实现的,需要定义一个可以交互的环境env,和ReACT出自同一批作者。

514d50d880e4c1ca36d1655d87ca4258.png

十,Langchain

将本地文档做成知识库,根据Query问题按照文本emedding向量相似度查询到最相关的知识内容,按照模版拼接到Prompt中。

核心技术是Embedding算法,以及向量数据库查询。

d7edb1a51a06ba7c7c22f6e30e707f9e.png


公众号算法美食屋后台回复关键词:chatgpt,获取本文notebook源码以及吃货更多chatgpt相关prompt技巧分享~

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

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

相关文章

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式 1. 交互式编程2. 脚本式编程3. 其他补充3.1 python源码文件后缀的问题3.2 关于原生工县和开发工具的选择 Python有两种编程方式: 交互式编程:写一行python语句,马上运行一行&#xf…

15-1.创建与引用自定义组件

目录 1 创建自定义组件 2 引用自定义组件 2.1 局部引用 2.2 全局引用 3 自定义组件的样式 1 创建自定义组件 在项目根目录下创建components,然后在components中创建 自定义组件名称 的文件夹,然后再自定义组件名称的文件夹中点击 新建Compon…

人体姿态估计技术的理解(Human Pose Estimination)

本人毕设题目是人体姿态估计技术的相关课题,本人按照自己对人体姿态估计技术的学习和理解进行论述,如有不足,请大家指正!!! 首先讨论一个问题:什么是姿态估计? “姿势估计?……姿势这个词对…

管理类联考——英语二——知识篇——写作——题目说明——A节

MBA,MPA,MPAcc管理类联考英语写作部分由A,B两节组成,主要考查考生的书面表达能力。共2题,25分。A节要求考生根据所给情景写出约100词(标点符号不计算在内)的应用文,包括私人和公务信函、通知、备忘录等。共…

elasticsearch安装dynamic-synonym插件

elasticsearch安装dynamic-synonym插件 ​ 今天就来和大家讲讲如何在es中安装dynamic-synonym插件,首先我们需要去github上下载与es版本对应的插件,一般github上基本都是本地词库和远程文本词库的,在gitee上可以找到采用数据库作为词库的源码…

就Python的发展前景、就业薪资、应用领域来看,你还有什么理由不学Python!

Python作为人工智能和数据分析第一语言,使得Python程序员成了当前人才市场的“抢手货”,工资待遇也水涨船高。 那么Python到底是什么?Python发展前景好么?Python容易学么?工资高么?技术小白适合学习么&…

【统信uos-server-20-1060e---详细安装openGauss】

【统信uos-server-20-1060e---详细安装openGauss】 🔻 一、前言🔻 一、安装前准备🔰 1.1 openGauss安装包下载🔰 1.2 安装环境准备⛳ 1.2.1 硬件环境要求⛳ 1.2.2 软件环境要求⛳ 1.2.3 软件依赖要求⛳ 1.2.4 关闭操作系统防火墙、…

如何在Allegro软件中进行射频微波电路设计?

随着时代高速发展,射频微波电路开始成为当代电子工程师在高频领域面临的重要挑战之一,如何提高设计效率,合理设计出一个优秀的射频微波产品,是很多电子工程师最头痛的问题,下面本文将聊聊如何通过Allegro软件设计吃优秀…

AI服务的并发处理【Python】

有一段时间,我专注于机器学习的研究方面,为不同的任务开发定制的机器学习解决方案。 但是最近,新项目进来了,有时自己负责初始部署比寻求其他开发人员的帮助更快。 我发现了几个在规模、易用性、定价等方面不同的部署选项。 今天…

SSM酒店后台管理系统

主要功能 管理员权限登录: ①首页展示当前时间信息,Layui框架实现的滚动图等布局 ②住客管理:住客入驻、住客列表的增删改查操作 ③房间管理:对房间进行相关的操作,详细信息、更新状态等 ④会员管理:新增会…

Mysql索引的应用

文章目录 一、索引介绍1. 索引的概念2. 索引的作用与副作用2.1 索引的作用2.2 索引的副作用2.3 如何实现索引 3. 创建索引的原则依据4. 索引的分类和创建4.1 普通索引直接创建索引修改表方式创建创建表的时指定索引 4.2 唯一索引直接创建唯一索引修改表方式创建创建表的时候指定…

Linux-- vi / vim 编辑器

目录 vi \ vim 编辑器的三种编辑模式 vi \ vim 的使用 模式的切换 命令模式下的命令 底线模式 vi \ vim 是visual interface 的简称, 是linux中的经典文本编辑器, 同图形化界面中的文本编辑器一样, 但是vi是使用命令行来对文本进行编辑的最好选择 vim是vi的加强版本, 兼容vi的…

15-2.自定义组件的数据

目录 1 data与method 2 properties 2.1 基本使用 2.2 properties在小程序中可读可写 2.3 对properties使用setData() 3 数据监听器 observers 3.1 基本使用 3.2 同时监听多个变量 3.3 监听对象中属性某个属性的变化 3.4 监听对象中所有属性 4 纯数据字段…

【CSS】属性书写顺序

1.布局定位属性: display(元素类型建议第一个) position float(浮动) clear visibility overflow 2.自身属性: width height margin(外边距) …

我的内网渗透-Empire进阶(会话转移和剪贴板攻击)

剪贴版攻击 安装 下载网址 https://github.com/D4Vinci/PasteJacker 下载的两种方式 ①直接在windows中下载,然后解压完把文件夹传到kali中进行安装 ②只接在kali中下载 git clone https://github.com/D4Vinci/PasteJacker #下载压缩包unzip PasteJacker-maste…

C语言之运算符

C语言运算符 文末附运算符的优先表和ASCII表 一、算术运算符 加()减(—)乘(*)除(/)模(余)运算符(%):不允许出现浮点型,…

这是一颗经过计划生育的树?

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 &#x1f…

Hadoop的shuffle过程及调优

MapReduce 中的Shuffle 发生在 map 输出到 reduce 输入的过程,它的中文解释是 “洗牌”,顾名思义该过程涉及数据的重新分配,主要分为两部分: map 任务输出的数据分组、排序,写入本地磁盘。reduce 任务拉取排序。 由于…

基于Java+Swing+Mysql实现人事管理信息系统

基于JavaSwingMysql实现人事管理信息系统 一、系统介绍二、功能展示1.用户登陆2.用户注册3.员工信息添加、删除4.员工信息查询、修改5.部门管理6、员工考核 三、数据库四、其它1.其他系统实现五.获取源码 一、系统介绍 系统功能:用户登陆、用户注册、员工信息添加、…

6.8object类equals tostring

2 什么是API API(Application Programming Interface,应用程序接口)是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件可以访问的一些功能集,但又无需访问源码或理解内部工作机制的细节. API是一种通用功能集,有时公…