提示工程-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会基于这个角色来执行你所给的指令

直接上案例…

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.mzph.cn/news/171293.shtml

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

相关文章

Spring Web MVC

目录 一.简介 二.建立连接&#xff08;客户端和服务器&#xff09; 三.请求 1.传递单个参数 2.传递多个参数 3.对象 4.数组/集合 5.JSON 6.URL参数 7.上传文件 8.获取cookie和session &#xff08;1&#xff09;获取cookie &#xff08;2&#xff09;获取session …

4D Gaussian Splatting:用于实时的动态场景渲染

Wu G, Yi T, Fang J, et al. 4d gaussian splatting for real-time dynamic scene rendering[J]. arXiv preprint arXiv:2310.08528, 2023. 更多参考资料如下&#xff1a; 文章总结&#xff1a;4D Gaussian Splatting for Real-Time Dynamic Scene Rendering&#xff1b;疑难问…

C#,《小白学程序》第二十一课:大数的减法(BigInteger Subtract)

1 文本格式 using System; using System.Linq; using System.Text; using System.Collections.Generic; /// <summary> /// 大数的&#xff08;加减乘除&#xff09;四则运算、阶乘运算 /// 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法 /// </summary> p…

python中模块的创建及引用(import as,import,from)

模块&#xff08;module&#xff09;简介&#xff1a; 1.模块化&#xff0c;模块化指将一个完整的程序分解为一个一个的小模块&#xff0c; 通过将模块组合&#xff0c;来搭建出一个完整的程序 2.不采用模块化就是统一将所有的代码编写到一个文件中&#xff0c;采用 模块化就是…

Redis-Redis 高并发分布式锁

集群分布式场景高并发 1.negix配置代理和路由 高并发场景超卖问题 1.使用原生redis控制超卖时(若是商品&#xff0c;则可以将商品id作为锁对象)&#xff0c;会遇到的问题 问题一&#xff1a;若直接使用&#xff1a;将获取锁的对象和设置的超时的时间分开&#xff0c;则不能控…

css实现图片绕中心旋转,鼠标悬浮按钮炫酷展示

vue模板中代码 <div class"contentBox clearfix home"><div class"circle"><img class"in-circle" src"../../assets/img/in-circle.png" alt""><img class"out-circle" src"../../as…

【Android】Android Framework系列--Launcher3各启动场景源码分析

Android Framework系列–Launcher3各启动场景源码分析 Launcher3启动场景 Launcher3是Android系统提供的默认桌面应用(Launcher)&#xff0c;它的源码路径在“packages/apps/Launcher3/”。 Launcher3的启动场景主要包括&#xff1a; 开机后启动&#xff1a;开机时&#xff…

Spring Boot 改版如何解决?使用阿里云创建项目、使用IDEA进行创建

接上次博客&#xff1a;JavaEE进阶&#xff08;2&#xff09;SpringBoot 快速上手&#xff08;环境准备、Maven&#xff1a;核心功能&#xff0c;Maven仓库、第⼀个SpringBoot程序&#xff1a;Spring介绍&#xff0c;Spring Boot介绍、创建项目&#xff09;-CSDN博客 目录 使…

网络篇---第一篇

系列文章目录 文章目录 系列文章目录前言一、HTTP 响应码有哪些?分别代表什么含义?二、Forward 和 Redirect 的区别?三、Get 和 Post 请求有哪些区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…

ctfshow sql

180 过滤%23 %23被过滤&#xff0c;没办法注释了&#xff0c;还可以用’1’1来闭合后边。 或者使用--%0c-- 1%0corder%0cby%0c3--%0c--1%0cunion%0cselect%0c1,2,database()--%0c--1%0cunion%0cselect%0c1,2,table_name%0cfrom%0cinformation_schema.tables%0cwhere%0ctable_…

YOLO目标检测——背包检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;各种背包检测数据集说明&#xff1a;背包检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xml)、coco(json)和yolo(txt)三种格式标签…

图论——最小割问题

Capacity&#xff08;S&#xff0c;T) Min-Cut(通俗的说就是用最小的力气隔断&#xff09; 最小割并不唯一 最大流最小割定理 对于一个网络流问题&#xff0c;最大流的流量最小割的容量 寻找最小割 可以使用Edmonds-karp or Dinic algorithm 首先寻找任意一个最大流&#xff…

LangChain 10思维链Chain of Thought一步一步的思考 think step by step

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

Linux内核--内存管理(一)任务空间管理

目录 一、引言 二、基本概念梳理 三、用户态进程内存管理 ------>3.1、用户态 ------>3.2、内核态 ------>3.3、内存管理结构 ------>3.4、mm_struct ------>4.5、vm_area_struct 四、内核态结构 ------>4.1、32位内核态结构 ------>4.2、64位…

2018年4月26日 Go生态洞察:Go新品牌形象及标识发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

从代码执行,看单片机内存的分配

1、单片机执行指令过程详解 单片机执行程序的过程&#xff0c;实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行&#xff0c;即取指令--分析指令--执行指令。 取指令的任务是&#xff1a;根据程序计数器PC中的值从程序存储器读…

C语言基础介绍

1. C语言基础知识 C语言是一种计算机编程语言&#xff0c;是一门用于编写系统软件和应用软件的高级语言。C语言的基础知识包括&#xff1a; 数据类型&#xff1a;C语言中的数据类型包括整型、浮点型、字符型等。 变量&#xff1a;C语言中使用变量来存储数据&#xff0c;变量必…

Spring RabbitMQ那些事(2-两种方式实现延时消息订阅)

目录 一、序言二、死信交换机和消息TTL实现延迟消息1、死信队列介绍2、代码示例(1) 死信交换机配置(2) 消息生产者(3) 消息消费者 3、测试用例 三、延迟消息交换机实现延迟消息1、安装延时消息插件2、代码示例(1) 延时消息交换机配置(2) 消息生产者(3) 消息消费者 3、测试用例 …

[Linux]进程创建➕进程终止

文章目录 1.再谈fork()函数1.1fork()创建子进程 OS都做了哪些工作?1.2对上述问题的理解1.3写时拷贝进行父子进程分离的优势1.4了解eip寄存器和pc1.5了解进程的上下文数据1.6对计算机组成的理解1.7fork常规用法1.8fork调用失败的原因 2.进程终止2.1进程终止时操作系统要做的工作…

人工智能-注意力机制之Transformer

Transformer 比较了卷积神经网络&#xff08;CNN&#xff09;、循环神经网络&#xff08;RNN&#xff09;和自注意力&#xff08;self-attention&#xff09;。值得注意的是&#xff0c;自注意力同时具有并行计算和最短的最大路径长度这两个优势。因此&#xff0c;使用自注意力…