提示工程-Prompt Engineering

news2024/11/28 16:35:26

提示工程

提示工程

1、概述

Prompt Engineering: 提示工程

通过自然语言(英语、汉语等)来给AI下达指示,从而让AI完成你指定给他的工作的过程都可以称之为提示工程。(面向自然语言编程)

提示词要素

  • 指令:想要模型执行的特定任务或指令

  • 上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应

  • 输入数据:用户输入的内容或问题

  • 输出指示:指定输出的类型或格式

提示模型

  • 零样本提示(Zero-Shot Prompting)

    • 即用户不提供任务结果相关的示范,直接提示语言模型给出任务相关的回答
  • 角色扮演提示(Role Prompting)

  • 少样本提示(Few-Shot Prompting)

    • 用户提供少量的提示范例,例如任务说明等
  • 参数设置

  • 思维链提示(Chain of Thought Prompting)

  • 零样本思维链提示(Zero-Shot Chain of Thought Prompting)

1.1、零样本提示(Zero-Shot Prompting)

标准的提示词:

  • 指令:你需要模型完成的任务

  • 上下文信息:这里的上下文信息有两个作用

    • 给AI划定一个信息范围

    • 给AI提供一些额外的信息,从而让AI能更好的执行指

  • 问题:你需要模型解答的问题

  • 输出要求:你需要模型的回答所遵照的要求,这里的要求可以是格式、条数等,也可以是回答风格。

零样本提示格式:

<问题>?或<指令>这种可以被格式化为标准的问答格式,如:Q: <问题> ?A:

案例:

文章内容: “ 华经产业研究院数据显示:2023年1-2月贵州省房地产投资额341.23亿元,较2022年同期相比减少了15.75亿元,同比下降4.4%,其中住宅投资额267.7亿元,较2022年同期相比减少了6.59亿元,同比下降2.4%。2023年1-2月贵州省房地产施工面积23178.95万平方米,较2022年同期相比减少了811.95万平方米,同比下降3.4%;新开工面积329.69万平方米,较2022年同期相比增加了47.59万平方米,同比增长16.9%;竣工面积95.07万平方米,较2022年同期相比增加了18.18万平方米,同比增长23.6%。从各类型房屋来看,2023年1-2月贵州省商品住宅、办公楼及商业营业用房施工面积分别为:16248.2万平方米、428.37万平方米、2593万平方米,较2022年同期相比:减少488.84万平方米、减少51.81万平方米、减少178.2万平方米,同比增速:下降2.9%、下降10.8%、下降6.4%;商品住宅、办公楼及商业营业用房新开工面积分别为:237.95万平方米、0.24万平方米、23.78万平方米,较2022年同期相比:增加28.91万平方米、减少2.73万平方米、增加11.15万平方米,同比增速:增长13.8%、下降92%、增长88.3%;商品住宅、办公楼及商业营业用房竣工面积分别为:56.32万平方米、1.34万平方米、16.91万平方米,较2022年同期相比:增加0.16万平方米、增加0.68万平方米、增加12.5万平方米,同比增速:增长0.3%、增长102.7%、增长283%。2023年1-2月贵州省房地产商品房销售面积635.87万平方米,较2022年同期相比减少了49.89万平方米,同比下降7.3%,其中商品房现房销售面积102.69万平方米,较2022年同期相比增加了28.05万平方米,同比增长37.6%;商品住宅销售面积588.54万平方米,较2022年同期相比增加了0.23万平方米,其中商品住宅现房销售面积84.15万平方米,较2022年同期相比增加了27.35万平方米,同比增长48.2%。2023年1-2月贵州省房地产商品房销售额338.28亿元,较2022年同期相比减少了23.18亿元,同比下降6.4%;商品住宅销售额308.8亿元,较2022年同期相比增加了6.32亿元,同比增长2.1%。 ”请列出上述文章内容当中的所有经济指标,不能有遗漏!然后告诉我你对这些经济指标在2023年的走势预测(例如上升、下降、持平等)。然后用100字左右的文字向我阐述你所预测的这些经济指标的走势对房地产市场会带来何种影响。 你需要按照如下格式来回答问题: |指标名称|走势预测|影响分析|

案例:文本分类

将文本分类为中性、负面或正面。文本:我认为这次假期还可以。情感:

1.2、少样本提示(Few-shot)

零样本提示可以通过简单的自然语言向AI下达指令,但是如果指令复杂化的情况下就不好描述了。

少样本提示的关键核心就是:举个栗子!通过给AI提供一个示例样本来控制AI的回复。

案例

这组数字中的奇数加起来是一个偶数:4、8、9、15、12、2、1。A:答案是False。这组数字中的奇数加起来是一个偶数:17、10、19、4、8、12、24。A:答案是True。这组数字中的奇数加起来是一个偶数:16、11、14、4、8、13、24。A:答案是True。这组数字中的奇数加起来是一个偶数:17、9、10、12、13、4、2。A:答案是False。这组数字中的奇数加起来是一个偶数:15、32、5、13、82、7、1。A:

案例:英语单词查询助手

你是一个英语单词查询助手,每当用户发送一个英语单词给你,你都要以固定格式响应用户,如果用户发给你的不是一个单词,回复 ‘invalid token’。 英语单词:run [/rʌn/]\n\nn. 奔跑;竞赛;连续的演出\nHe went for a run after work. (他下班后去跑步了)\n\nv. 奔跑;运行\nI like to run in the park every morning. (我喜欢每天早上在公园里跑步)"\n\nadj. 连续的;流畅的\nThis printer is really fast and runs smoothly. (这台打印机速度非常快,而且运行流畅) 如果你明白了请回复“OK”,接下来我会给你发送任意单词,你将按照上述格式翻译显示出来

案例:控制输出的格式

提取以下文本中的地名。所需格式:地点:<逗号分隔的公司名称列表>输入:“虽然这些发展对研究人员来说是令人鼓舞的,但仍有许多谜团。里斯本未知的香帕利莫德中心的神经免疫学家Henrique Veiga-Fernandes说:“我们经常在大脑和我们在周围看到的效果之间有一个黑匣子。”“如果我们想在治疗背景下使用它,我们实际上需要了解机制。””

这是 openai-cookbook 中关于 Few shot 的介绍:few-shot

1.3、角色扮演(Role Prompting)

ChatGpt Prompt Generator: 指定角色,这个工具会生成对应角色的提示词

提示词-角色库

让AI扮演一个你要求的角色,AI会基于这个角色来执行你所给的指令

直接上案例…

image

1.4、参数设置

ChatGPT常见的参数如下:

参数设置名称参数说明参数设置范围参数设置示例
model模型类型,表示ChatGPT的具体模型架构。字符串,例如:“gpt-3.5-turbo”“gpt-3.5-turbo”
prompt用户提供的对话或输入,用于模型的上下文。字符串“Translate the following English text to French: {text}”
temperature控制输出的随机性,较高值增加随机性。浮点数,通常在0和1之间use “temperature” value of 1 in our conversation
max_tokens限制生成文本的最大标记数,控制输出长度。整数use “max_tokens” value of 300 in our conversation
top_p仅在top-p(nucleus)中采样标记,用于控制多样性。浮点数,通常在0和1之间use “top_p” value of 0.3 in our conversation
frequency_penalty提高高频词汇的惩罚项,以促使生成更多不常见的词汇。浮点数,通常在-2和2之间use “frequency_penalty” value of 1.5 in our conversation
presence_penalty提高已生成词汇的惩罚项,以促使生成更多新词汇。浮点数,通常在0和1之间use “presence_penalty” value of 0.2 in our conversation
stop设置一个停止词,用于指导生成的文本何时结束。字符串“###”

1.5、思维链提示(Chain-of-Thought Prompting,COT)

简单来说,思维链提示也是少样本提示的一种,不过这个样本换成了与逻辑推理相关的样本。

案例

Q: 小明已有5个乒乓球,之后他又买了2盒乒乓球,每盒乒乓球当中有10个球,请问此时小明共有几个乒乓球? A: 小明一开始有5个乒乓球,之后又买2盒,已知每盒有10个球,那也就是一共2 * 10 = 20个乒乓球,再加上之前的5个,也就是20 + 5 = 25,此时小明一共有25个乒乓球。Q: 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。请问如何只用这2个水壶从池塘里取得3升的水?A:

1.6、零样本思维链提示(Zero-Shot CoT prompting)

魔法咒语

Let’s think step by step.

1.7、自我一致性提示

投票:使用大语言模型来处理较为复杂的文本的时候,为了确保处理结果的准确性,我们通常会使用同一段提示词产生多个结果,然后取出现次数最多的那个结果作为最终结果。

1.8、知识生成提示(Generated Knowledge Prompting)

让gpt大模型基于全网能获得的公共数据来进行生成所需要的内容

案例:

请你列举出5条油性皮肤在选择洗面奶时的注意事项,并给出详细说明。然后基于你所列举的这些注意事项,以小红书的风格生成一篇爆款笔记。

1.9、提示词公式

提示词万用公式=明确任务或需求+限定范围或主题+指定格式或结构+确定语气或风格+指定关键信息或要素

通过这个结构的不同组合,相信你就可以写出自己想要提示词。

1、明确任务或需求: 在提示词中清楚地指明你希望生成的文本的目标或任务,如描述、解释、比较、总结等。

例如:请描述一下巴黎塞纳河的历史和文化意义。

解释一下量子力学的基本原理和应用。

2、限定范围或主题: 在提示词中指定特定的主题、领域或背景,以便模型生成与之相关的内容。

例如:在美食领域中,介绍一些著名的法国菜。 关于人工智能领域的发展趋势和挑战进行一番讨论。

3、指定格式或结构: 如果你有特定的文本格式或结构要求,可以在提示词中明确指定,如列表、段落、标题等。

例如:请列出五个理由,解释为什么健康饮食对人体重要。

给我写一篇关于旅行的短文,包括引言、正文和结论。

4、确定语气或风格: 如果你希望生成的文本有特定的语气、风格或口吻,可以在提示词中表达清楚。

例如:以幽默的口吻给我讲一个笑话。 用诗歌的形式表达对自然的赞美。

5、指定关键信息或要素: 在提示词中提供关键的信息或要素,以确保生成的文本包含所需的内容。

例如:提供一份详细的装修清单,包括材料、工具和步骤。 解释一下病毒的传播途径和预防措施,并提供相关数据支持。

3、资源

ChatGPT手册

ChatGPT 提示词高阶技能:零次、一次和少样本提示

OpenAI-CookBook - 提示词教程

如何使用大语言模型

ChatGPT Prompts Awesome

ChatGPT SEO prompts

SEO工具网站

提示工程指南

电子书推荐:

《如何用ChatGPT赚钱:策略、技巧和战术》

[《聊天提示的艺术:制作清晰有效的提示指南》](The Art of ChatGPT Prompting: A Guide to Crafting Clear and Effective Prompts)

《保护GPT:攻击和防御ChatGPT应用程序的实用介绍》

[ChatGPT提示生成器应用程序](ChatGPT Prompt Generator - a Hugging Face Space by merve)

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

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

相关文章

线程的常用方法-wait和notify以及线程的结束方式

再复习一下Java中的线程的状态图 wait和sleep的区别是&#xff1a;wait需要先持有锁&#xff08;wait需要再synchronized代码块中执行&#xff09;&#xff0c;执行后会让出锁。而sleep不需要先持有锁&#xff0c;执行后也不会释放锁&#xff08;有锁的话抱着锁睡觉&#xff09…

2024年天津天狮学院食品质量与安全专业《普通化学》考试大纲

2024年天津天狮学院食品质量与安全专业高职升本入学考试《普通化学》考试大纲 一、考试性质 《普通化学》专业课程考试是天津天狮学院食品质量与安全专业高职升本入学考试 的必考科目之一&#xff0c;其性质是考核学生是否达到了升入本科继续学习的要求而进行的选拔性考试。《…

这一款 Mac 系统终端工具,已经用的爱不释手了!

&#x1f525;&#x1f525;&#x1f525;作为程序员或者运维管理人员&#xff0c;我们经常需要使用终端工具来进行服务器管理及各种操作&#xff0c;比如部署项目、调试代码、查看/优化服务、管理服务器等。 相信大家用的最多的终端工具就是 Xshell、iTerm2和Mobaxterm&#…

Vue框架学习笔记——计算属性

文章目录 前文提要代码需求描述插值语法实现methods实现 计算属性getter执行时间&#xff1a;setter 计算属性简写形式&#xff08;只读不改&#xff0c;才能如此简写&#xff09;slice截取元素&#xff0c;限制输入字符数量 前文提要 本人仅做个人学习记录&#xff0c;如有错…

vue3(二)-基础入门

一、列表渲染 of 和 in 都是一样的效果 html代码&#xff1a; <div id"app"><ul><li v-for"item of datalist">{{ item }}</li></ul><ul><li v-for"item in dataobj">{{ item }}</li></u…

聚观早报 |红魔9 Pro支持165W快充;2023Q3欧洲手机市场报告

【聚观365】11月22日消息 红魔9 Pro支持165W快充 2023Q3欧洲手机市场报告 长安汽车官宣加入蔚来换电体系 网龙战略投资Rokid IBM推出5亿美元的风险基金 红魔9 Pro支持165W快充 截至目前&#xff0c;除了已经发布或即将亮相的几款骁龙8 Gen3常规旗舰外&#xff0c;游戏手机…

梯度详解与优化实战

什么是梯度 对所有自变量求偏微分构成的向量&#xff0c;它是一个向量&#xff08;有大小和函数值增长方向&#xff09; 导数是一个标量 找最小值点坐标的案例 import torchimport numpy as np import matplotlib.pyplot as plt def himmelblau(x):return (x[0]**2x[1]-11)…

MFC 绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、正弦函数曲线实例

MFC 绘制三种不同圆形以及绘制正弦函数曲线 本文使用visual Studio MFC 平台实现绘制单一颜色圆形、渐变颜色边框圆形、渐变填充圆形以及绘制三角函数正弦函数曲线. 关于基础工程的创建请参考 01-Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 02-vis…

SpringBoot 环境使用 Redis + AOP + 自定义注解实现接口幂等性

目录 一、前言二、主流实现方案介绍2.1、前端按钮做加载状态限制&#xff08;必备&#xff09;2.2、客户端使用唯一标识符2.3、服务端通过检测请求参数进行幂等校验&#xff08;本文使用&#xff09; 三、代码实现3.1、POM3.2、application.yml3.3、Redis配置类3.4、自定义注解…

部署项目时常用的 Linux 命令

目录 1 前言2 SSH登录命令3 SCP传输命令4 CP拷贝命令5 MV移动命令6 TAR解压命令7 DU查看文件夹/文件大小8 TAIL查看日志9 NOHUP后台运行10 结语 1 前言 在应用部署过程中&#xff0c;Linux命令是必不可少的工具。它们能够帮助我们管理文件、连接服务器、拷贝文件、查看日志以及…

大数据项目--学习笔记

新零售项目介绍 1&#xff0c;行业背景介绍 一&#xff0c;百货商店 百货商店是世界商业史上第一个实行新销售方法的现代大量销售组织。其新型销售方法有&#xff1a; 1&#xff0e;顾客可以毫无顾忌地、自由自在地进出商店&#xff1b; 2&#xff0e;商品销售实行“明码标价…

java基础语法总结

导言&#xff1a; Java语言是一种面向对象的编程语言&#xff0c;具有简单、可移植、安全、高性能等特点。本篇文章主要对java的基础的语法进行一个简单的总结和概述。 目录 导言&#xff1a; 正文&#xff1a; 1. 数据类型与变量 2. 运算符与逻辑控制 3. 方法 4. 数组…

数据结构 / 结构体字节计算

1. 结构体的存储 结构体各个成员的地址是连续的结构体变量的地址是第一个成员的地址 2. 64位操作系统8字节对齐 结构体的总字节大小是各个成员字节的总和&#xff0c;字节的总和需要是最宽成员的倍数结构体的首地址是最宽成员的倍数结构体各个成员的偏移量是该成员字节的倍数…

服务号和订阅号哪个好

服务号和订阅号有什么区别&#xff1f;服务号转为订阅号有哪些作用&#xff1f;在推送频率上来看&#xff0c;服务号每月能推送四条消息&#xff0c;而订阅号可以每天&#xff08;24小时&#xff09;推送一条消息。如果企业开通公众号的目的是提供服务&#xff0c;例如售前资讯…

JOSEF约瑟 BLD-20高压漏电保护继电器 50-1000ma AC220V

系列型号 BLD-20A高压漏电保护继电器 BLD-20高压漏电继电器 BLD-20高压漏电保护继电器 BLD-20X高压漏电保护装置 BLD-G20X高压漏电保护装置 用途 BLD-20高压漏电保护装置 (以下简称继电器)主用于交流电压1-10KV系统中,频率为50HZ,对供电系统的漏电(或接地)实现有选择性保…

MyBatis 操作数据库(入门)

一&#xff1a;MyBatis概念 (1)MyBatis &#x1f497;MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发 (2)持久层 1.持久层 &#x1f49c;持久层&#xff1a;持久化操作的层&#xff0c;通常指数据访问层(dao)&#xff0c;是用来操作数据库的 2.持久层的规范 ①…

【Web】Ctfshow Thinkphp3.2.3代码审计(1)

目录 ①web569 ②web570 ③web571 ④web572 ①web569 基础考察 /index.php/Admin/Login/ctfshowLogin ②web570 提示找路由 查看附件源码 (config.php) 发现定义了一个可执行命令的路由规则 /index.php/ctfshow/assert/eval($_POST[1]) 1system(tac /f*); ③web571 提…

The module to import is incompatible with the current project【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模块…

Scannet v2 数据集介绍以及子集下载展示

Scannet v2 数据集介绍以及子集下载展示 文章目录 Scannet v2 数据集介绍以及子集下载展示参考数据集简介子集scannet_frames_25kscannet_frames_test 下载脚本 download_scannetv2.py 参考 scannet数据集简介和下载-CSDN博客 scannet v2 数据集下载_scannetv2数据集_蓝羽飞鸟的…

pandas分组选中最大值并且新增列

题目 根据每个session_id分组&#xff0c;将popular最大的值设为这个session中所有popular的值 category item_id label popular session_id 0 4729 True 53.0 4069 0 4729 True 53.0 4069 0 4729 True 53.0 4069 0…