提示工程-Prompt Engineering
提示工程
提示工程
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会基于这个角色来执行你所给的指令
直接上案例…
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)
相关文章:

提示工程-Prompt Engineering
提示工程 提示工程 1、概述 Prompt Engineering: 提示工程 通过自然语言(英语、汉语等)来给AI下达指示,从而让AI完成你指定给他的工作的过程都可以称之为提示工程。(面向自然语言编程) 提示词要素 指令&…...

JetLinks设备接入的认识与理解【woodwhales.cn】
为了更好的阅读体验,建议移步至笔者的博客阅读:JetLinks设备接入的认识与理解 1、认识 JetLinks 1.1、官网文档 官网:https://www.jetlinks.cn/ JetLinks 有两个产品:JetLinks-lot和JetLinks-view 官方文档: JetLi…...

机器人开发的选择
喷涂机器人 码垛机器人 纸箱码垛机器人 焊接机器人 跳舞机器人 管道清理机器人 工地巡检机器人 点餐机器人 化工巡检机器人 装箱机器人 安防巡检机器人 迎宾机器人好像有点像软银那个 污水管道检测机器人 大酒店用扫地机器人 家用扫地机器人 工厂用(…...

LeetCode Hot100 102.二叉树的层序遍历
题目: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 方法:迭代 class Solution {public List<List<Integer>> levelOrder(TreeNode root) {if …...

【Kotlin】类与接口
文章目录 类的定义创建类的实例构造函数主构造函数次构造函数init语句块 数据类的定义数据类定义了componentN方法 继承AnyAny:非空类型的根类型Any?:所有类型的根类型 覆盖方法覆盖属性覆盖 抽象类接口:使用interface关键字函数:funUnit:让…...

Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问 文章目录 Wagtail-基于Python Django的内容管理系统CMS实现公网访问前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个…...

什么是LASSO回归,怎么看懂LASSO回归的结果
随着机器学习的发展,越来越多SCI文章都使用了更多有趣、高效的统计方法来进行分析,LASSO回归就是其中之一。很多小伙伴听说过LASSO,但是对于LASSO是什么,有什么用,怎么才能实现,大家可能一头雾水。今天的文…...

python树长子兄弟链存储结构(孩子兄弟链存储结构)
长子兄弟链存储结构(孩子兄弟链存储结构)解释: 长子兄弟链存储结构是一种树的存储结构,它使用孩子兄弟表示法(也称作左孩子右兄弟表示法)来表示树的结构。这种表示方法主要用于存储一般的树,而不…...
开源和闭源软件对开发的影响
开源软件的优势: 开源性:开源软件允许任何人查看、修改和发布源代码,这促进了代码的共享和集体学习。透明性:开源软件提高了软件的透明度,使用户可以更好地理解软件的工作原理,增加对软件的信任。社区支持…...

centos无法进入系统之原因解决办法集合
前言 可爱的小伙伴们,由于精力有限,暂时整理了两类。如果没有你遇到的问题也没有关系,欢迎底下留言评论或私信,小编看到后第一时间帮助解决 一. Centos 7 LVM xfs文件系统修复 情况1: [sda] Assuming drive cache:…...
【Linux】系统初始化配置
CentOS 7 的虚拟机安装后必须要做的几个操作,记录以下,网络配置修改、yum源安装、基础工具安装: 1、先修改权限,新建普通用户,并授权普通用户apps 的sudo权限; useradd apps password apps visudo apps A…...

使用VC++设计程序对一幅256级灰度图像进行全局固定阈值分割、自适应阈值分割
图像分割–全局固定阈值分割、自适应阈值分割 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章: 01- 一元熵值、二维熵值 02- 图像平移变换,图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、…...

【ArcGIS Pro微课1000例】0035:栅格影像拼接(dem高程数据)
本实验讲解在ArcGIS Pro中,栅格数据的两种拼接(镶嵌)方法,适用于遥感影像、DOM、DEM、DSM等常见栅格数据。 文章目录 一、加载实验数据二、栅格拼接工具1. 镶嵌2. 镶嵌至新栅格三、注意事项四、拓展阅读一、加载实验数据 加载配套实验数据中的0035.rar中的两个dem数据,如…...

Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持
目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案自己写的HLS图像缩放方案 3、设计思路详解Video Processing Subsystem 介绍 4、工程代码详解PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项…...

【C】内存函数
目录 1. memcpy 使用和模拟实现 2. memmove 使⽤和模拟实现 3. memset 函数的使用 4. memcmp 函数的使用 1. memcpy 使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到d…...

windows系统玩游戏找不到d3dx9_35.dll缺失的解决方法
分享一个我们在打开游戏或许软件过程中遇到的问题——“由于找不到d3dx9_35.dll,无法继续执行代码”的五个修复方案。这个问题可能会影响到我们的工作和娱乐效率,甚至可能导致工作的延期。因此,我希望通过今天的文章,能够帮助大家更好地解决这…...

webshell之内置函数免杀
原始webshell 查杀的点在于Runtime.getRuntime().exec非常明显的特征 利用ProcessBuilder替换Runtime.getRuntime().exec(cmd) Runtime.getRuntime().exec(cmd)其实最终调用的是ProcessBuilder这个函数,因此我们可以直接利用ProcessBuilder来替换Runtime.getRunti…...
react高阶成分(HOC)
使用React函数式组件写了一个身份验证的一个功能,示例通过高阶组件实现的一个效果展示: import React, { useState, useEffect } from react;// 定义一个高阶组件,它接受一个组件作为输入,并返回一个新的包装组件 const withAuth…...

<JavaEE> Thread线程类 和 Thread的常用方法
目录 一、Thread概述 二、构造方法 三、常用方法 1.1 getId()、getName()、getState()、getPririty() 1.2 start() 1.3 isDaemon()、setDaemon() 1.4 isAlive() 1.5 currentThread() 1.6 Interrupt()、interrupted()、isInterrupted() 1.6.1 方法一:添加共…...

Linux加强篇004-Vim编辑器与Shell命令脚本
目录 前言 1. Vim文本编辑器 1.1 编写简单文档 1.2 配置主机名称 1.3 配置网卡信息 1.4 配置软件仓库 2. 编写Shell脚本 2.1 编写简单的脚本 2.2 接收用户的参数 2.3 判断用户的参数 3. 流程控制语句 3.1 if条件测试语句 3.2 for条件循环语句 3.3 while条件循环语…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...