提示工程-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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言公交车之谜(ZZULIOJ1232:公交车之谜)

题目描述 听说郑州紫荆山公园有英语口语角&#xff0c;还有很多外国人呢。为了和老外对上几句&#xff0c;这周六早晨birdfly拉上同伴早早的就坐上了72路公交从学校向紫荆山进发。一路上没事干&#xff0c;birdfly开始思考一个问题。 从学校到紫荆山公园共有n(1<n<20)站路…

Day02嵌入式---按键控灯

一、简单介绍 按键控制灯开关是一种常见的嵌入式系统示例项目&#xff0c;它通常用于演示嵌入式系统的基本控制能力。该项目由一个或多个LED和一个按键组成。通过按下按键&#xff0c;可以控制LED的开关状态&#xff0c;从而实现灯的亮灭控制。 二、查看功能手册 2.1 查看硬件…

学习笔记:如何分析财务报表

其实财务报表分析最核心的东西&#xff0c;是通过财务报表这个结果&#xff0c;由果推因&#xff0c;找出造成这个结果的原因。 会计是商业的语言 首先第一个问题是——会计是商业的语言&#xff0c;这是会计的根本。 什么叫“语言”&#xff0c;就是可以通过它进行交流。比如…

队列实现栈VS栈实现队列

目录 【1】用队列实现栈 思路分析 ​ 易错总结 Queue.c&Queue.h手撕队列 声明栈MyStack 创建&初始化栈myStackCreate 压栈myStackPush 出栈&返回栈顶元素myStackPop 返回栈顶元素myStackTop 判断栈空否myStackEmpty 释放空间myStackFree MyStack总代码…

2024年天津天狮学院专升本食品质量与安全专业《分析化学》考纲

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

第十七章 解读PyTorch断点训练(工具)

主要有以下几方面的内容&#xff1a; 对于多步长训练需要保存lr_schedule初始化随机数种子保存每一代最好的结果 简单详细介绍 最近在尝试用CIFAR10训练分类问题的时候&#xff0c;由于数据集体量比较大&#xff0c;训练的过程中时间比较长&#xff0c;有时候想给停下来&…

python-opencv 人脸68点特征点检测

python-opencv 人脸68点特征点检测 不是很难&#xff0c;主要还是掉包&#xff0c;来看一下代码啊&#xff1a; # coding: utf-8 # 导包 import numpy as np import dlib import cv2class face_emotion(object):def __init__(self):# 人脸检测器对象&#xff0c;通过它拿到人…

Git 仓库越来越大?不要慌!试试这个简单方法,轻松秒瘦身

开局两张图 瘦身前瘦身后 目录 开局两张图前言下载 BFG克隆代码Git 仓库瘦身清理存储库储存库 GC推送仓库 Git 瘦身验证结语开源项目 前言 在进行项目开发的过程中&#xff0c;代码仓库的体积可能会逐渐增大&#xff0c;特别是在版本控制系统中保留了大量的历史提交记录和不必…

Kafka-TopicPartition

Kafka主题与分区 主题与分区 topic & partition&#xff0c;是Kafka两个核心的概念&#xff0c;也是Kafka的基本组织单元。 主题作为消息的归类&#xff0c;可以再细分为一个或多个分区&#xff0c;分区也可以看作对消息的二次归类。 分区的划分为kafka提供了可伸缩性、水…

Java中的泛型是什么?如何使用泛型类和泛型方法?

Java 中的泛型是一种编程机制&#xff0c;允许你编写可以与多种数据类型一起工作的代码&#xff0c;同时提供编译时类型检查以确保类型的安全性。泛型的主要目的是提高代码的可重用性、类型安全性和程序的整体性能。 泛型类&#xff08;Generic Class&#xff09;: 在泛型类中…

服务运营 |精选:病人向何处去?医院调度的几种建模方法(上)

推文作者&#xff1a; Shutian Li 编者按&#xff1a; 住院流程&#xff08;Inpatient Flow&#xff09;是一种通过协调和优化医院内部流程&#xff0c;以提高患者入院至出院期间的效率和质量的方法。住院流程通常通过医院内部信息系统和协同工作流程进行管理&#xff0c;以确…

Everything进行内网穿透搜索

文章目录 1\. 部署内网穿透1.1. 注册账号1.2. 登录1.3. 创建隧道 2\. 从外网访问Everything 借助cpolar可以让我们在公网上访问到本地的电脑 1. 部署内网穿透 1.1. 注册账号 在使用之前需要先进行注册cpolar cpolar secure introspectable tunnels to localhost 1.2. 登录 C…

②⑩① 【MySQL】什么是分库分表?拆分策略有什么?什么是MyCat?

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 目录 ②⑩① 【MySQL】什么是分库分表&#xf…

使用paddleocr实现图片文字智能提取

1 OCR介绍 OCR&#xff08;Optical Character Recognition&#xff09;即光学字符识别&#xff0c;是一种将不同类型的文档&#xff08;如扫描的纸质文件、PDF文件或图像文件中的文本&#xff09;转换成可编辑和可搜索的数据的技术。OCR技术能够识别和转换印刷或手写文字&…

Drools Rule Language 学习笔记

Drools Rule Language 1 Packages in DRL 可以有多个packages但推荐只用一个packageexample&#xff1a; package org.mortgages; 2 Import statements in DRL 2.1 You specify the package and data object in the format packageName.objectName, with multiple imports …

访谈 破风之人毛京波,选择难而正确的路

“无论是在燃油时代还是电动时代&#xff0c;我们所做的一切&#xff0c;只为回归纯粹的驾驶乐趣。”履新路特斯中国总裁整整一年的毛京波&#xff0c;从不放过任何一个展示路特斯品牌驾驭精神的机会。 11月17日&#xff0c;广州车展开幕首日&#xff0c;位于5.2馆的路特斯“冠…

云计算学习哪些技术

1. 虚拟化技术 虚拟化是云计算的基础&#xff0c;因此了解虚拟化技术至关重要。学习虚拟化技术时&#xff0c;需要掌握以下知识点&#xff1a; - 操作系统虚拟化&#xff1a;了解基于宿主机和客户机的虚拟化技术&#xff0c;如VMware、Hyper-V等。 - 容器化技术&#xff1a;学习…

图片处理工具JixiPix Pastello mac中文版功能特色

JixiPix Pastello mac是一款数字绘画软件&#xff0c;它可以将照片转换为仿佛是手绘的油画、粉笔画、素描等风格的艺术作品。该软件提供了多种绘画效果和工具&#xff0c;例如颜料、画笔、纸张等&#xff0c;让用户可以轻松地调整画作的亮度、色彩和细节等参数&#xff0c;从而…

java_基础_关键字

1.关键字的字母全部都是小写. 2.常用的代码编辑器(Notepad),针对关键字有特殊的颜色标记,非常的直观.

【anaconda】numpy.dot 向量点乘小技巧

假设向量A[1,1], 向量B[2,3]。如果想知道他们的内积就可以输入如下代码: 当然&#xff0c;如果是两个列向量相乘&#xff0c;肯定是不对的 但是如果没有维度也一样可以求得内积&#xff0c;而且结果不会套在列表里