Prompt提示词教程 | 提示工程指南 | 提示词示例 入门篇

news/2024/5/20 8:11:40

在上一节中,我们介绍并给出了如何赋能大语言模型的基本示例。如果还没看而且是刚入门的同学建议看下,有个基本概念。

Prompt提示词教程 | 提示工程指南 | 提示工程简介icon-default.png?t=N7T8https://blog.csdn.net/HRG520JN/article/details/138523705在本节中,我们会提供更多示例,介绍如何使用提示词来完成不同的任务,并介绍其中涉及的重要概念。通常,学习概念的最佳方法是通过示例进行学习。下面,我们将通过示例介绍说明如何使用精细的提示词来执行不同类型的任务。​​​​​

1、文本概括

自然语言生成的标准任务之一是文本概括。文本概括可能涉及到不同的风格和领域。事实上,语言模型最前景的应用场景之一就是能够快速概括出易于理解的文章大意和相关概念。 我们可以使用提示词尝试一个简单的概括任务。

假设我想了解抗生素的相关信息,我可以给出这样的提示:

提示词

Explain antibiotics
A:

输出结果

Antibiotics are a type of medication used to treat bacterial infections. They work by either killing the bacteria or preventing them from reproducing, allowing the body’s immune system to fight off the infection. Antibiotics are usually taken orally in the form of pills, capsules, or liquid solutions, or sometimes administered intravenously. They are not effective against viral infections, and using them inappropriately can lead to antibiotic resistance.

在问答形式中,“A:” 是一种明确的提示格式。 在这个示例中,我用它去提示模型,我想要该概念的进一步解释。 在这个例子中,我们可能还不清楚使用它是否有用,我们会在之后的示例中探讨这一点。 现在假设我们感觉模型给了太多的信息,想要进一步提炼它。 我们可以指导模型帮我们用一句话总结相关内容:

提示词

Antibiotics are a type of medication used to treat bacterial infections. They work by either killing the bacteria or preventing them from reproducing, allowing the body’s immune system to fight off the infection. Antibiotics are usually taken orally in the form of pills, capsules, or liquid solutions, or sometimes administered intravenously. They are not effective against viral infections, and using them inappropriately can lead to antibiotic resistance.Explain the above in one sentence: // 用一句话解释上面的信息:

输出结果

Antibiotics are medications used to treat bacterial infections by either killing the bacteria or stopping them from reproducing, but they are not effective against viruses and overuse can lead to antibiotic resistance.

本示例是模型在没有过多关注上文输出内容的准确性的情况下,尝试用一个句子来总结段落内容。 关于上文准确性,我们可以通过指令或说明进一步改善它,这一点我们会在后续指南中进行探讨。 读到这里,您可以暂时停住并进行实验,看看是否能获得更好的结果。


2、信息提取

语言模型通过训练不仅可以用于执行自然语言生成相关任务,还可以用于执行文本分类和其他一系列自然语言处理 (NLP) 任务。

使用以下示例提示词从指定段落中提取信息:

提示词

Author-contribution statements and acknowledgements in research papers should state clearly and specifically whether, and to what extent, the authors used AI technologies such as ChatGPT in the preparation of their manuscript and analysis. They should also indicate which LLMs were used. This will alert editors and reviewers to scrutinize manuscripts more carefully for potential biases, inaccuracies and improper source crediting. Likewise, scientific journals should be transparent about their use of LLMs, for example when selecting submitted manuscripts.Mention the large language model based product mentioned in the paragraph above: // 指出上文中提到的大语言模型:

输出结果

The large language model based product mentioned in the paragraph above is ChatGPT.

我们可以通过许多方式改进以上结果,但当前方式已经非常有用。

现在应该很明显,您可以通过简单地指示语言模型去执行不同的任务。 AI 研发人员也利用这种能力来构建强大的产品和体验。

Paragraph source: ChatGPT: five priorities for research(opens in a new tab)


3、问答

提高模型响应精确度的最佳方法之一是改进提示词的格式。 如前所述,提示词可以通过指令、上下文、输入和输出指示以改进响应结果。 虽然这些要素不是必需的,但如果您的指示越明确,响应的结果就会越好。 以下示例可以说明结构化提示词的重要性。

提示词

Answer the question based on the context below. Keep the answer short and concise. Respond "Unsure about answer" if not sure about the answer. // 基于以下语境回答问题。如果不知道答案的话,请回答“不确定答案”。Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use.Question: What was OKT3 originally sourced from?Answer:

输出结果

Mice.

语境参考至 Nature(opens in a new tab)。


4、文本分类

目前,我们已经会使用简单的指令来执行任务。 作为提示工程师,您需要提供更好的指令。 此外, 您也会发现,对于更负责的使用场景,仅提供指令是远远不够的。 所以,您需要思考如何在提示词中包含相关语境和其他不同要素。 同样,你还可以提供其他的信息,如输入数据示例

可以通过以下示例体验文本分类:

提示词

Classify the text into neutral, negative or positive. // 将文本按中立、负面或正面进行分类Text: I think the food was okay. Sentiment:

输出结果

Neutral

我们给出了对文本进行分类的指令,语言模型做出了正确响应,判断文本类型为 'Neutral'。 如果我们想要语言模型以指定格式做出响应, 比如,我们想要它返回 neutral 而不是 Neutral, 那我们要如何做呢? 我们有多种方法可以实现这一点。 此例中,我们主要是关注绝对特性,因此,我们提示词中包含的信息越多,响应结果就会越好。 我们可以使用以下示例来校正响应结果:

提示词

Classify the text into neutral, negative or positive. Text: I think the vacation is okay.Sentiment: neutral Text: I think the food was okay. Sentiment:

输出结果

neutral

完美! 这次模型返回了 neutral,这正是我们想要的特定标签。 提示词中的示例使得模型可以给出更具体的响应。 有时给出具体的指令十分重要,可以通过以下示例感受这一点:

提示词

Classify the text into nutral, negative or positive. Text: I think the vacation is okay.Sentiment:

输出结果

Neutral

这时候你知道给出具体指令的重要性了吧?


5、对话

你可以通过提示工程进行更有趣的实验,比如指导大语言模型系统如何表现,指定它的行为意图和身份。 如果你正在构建客服聊天机器人之类的对话系统时,这项功能尤其有用。

比如,可以通过以下示例创建一个对话系统,该系统能够基于问题给出技术性和科学的回答。 你可以关注我们是如何通过指令明确地告诉模型应该如何表现。 这种应用场景有时也被称为 角色提示(Role Prompting)

提示词

The following is a conversation with an AI research assistant. The assistant tone is technical and scientific. // 以下是与 AI 助理的对话,语气应该专业、技术性强。Human: Hello, who are you?AI: Greeting! I am an AI research assistant. How can I help you today?Human: Can you tell me about the creation of blackholes?AI:

输出结果

Sure! Black holes are regions of spacetime where the gravitational force is so strong that nothing, not even light, can escape from it. They are created when a very massive star dies and its core collapses in on itself, forming a singularity of infinite density. The intense gravity of the singularity pulls in all the matter and radiation around it, creating the black hole.

我们的 AI 助理给出的回答非常技术对吧? 下面,我们让它给出更易于理解的答案。

提示词

The following is a conversation with an AI research assistant. The assistant answers should be easy to understand even by primary school students. // 以下是与 AI 助理的对话。请给出易于理解的答案,最好是小学生都能看懂的那种。Human: Hello, who are you?AI: Greeting! I am an AI research assistant. How can I help you today?Human: Can you tell me about the creation of black holes?AI: 

输出结果

Sure! Black holes are created when a very massive star runs out of fuel and collapses in on itself. The gravity of the star is so strong that nothing, not even light, can escape its pull. This creates a point in space-time with an intense gravitational force called a black hole.

我想我们应该取得了一些进展, 你也可以继续改进它。 如果你再添加更多的示例,可能会得到更好的结果。


6、代码生成

大语言模型另外一个有效的应用场景是代码生成。 在此方面,Copilot 就是一个很好的示例。 你可以通过一些有效的提示词执行代码生成任务。 让我们来看一下下面的例子。

我们先用它写个简单的用户欢迎程序:

提示词

/*询问用户的姓名并说“ Hello”*/

输出结果

let name = prompt("What is your name?");console.log(`Hello, ${name}!`);

你看,我们甚至都不需要指定要使用的编程语言。

来,我们再稍微升级一下。 下面的例子会向你展示提示词会让大语言模型变得多么强大。

提示词

"""Table departments, columns = [DepartmentId, DepartmentName]Table students, columns = [DepartmentId, StudentId, StudentName]Create a MySQL query for all students in the Computer Science Department"""

输出结果

SELECT StudentId, StudentName FROM students WHERE DepartmentId IN (SELECT DepartmentId FROM departments WHERE DepartmentName = 'Computer Science');

挺厉害的嘛。 本例中,我们提供了有关数据库架构并要求它生成有效的 MySQL 查询。


7、推理

目前对于大语言模型来说,推理任务算是最具有挑战性的了。 推理任务最让人兴奋的地方就是可以促使各种复杂的应用程序从大语言模型中诞生。

目前,涉及数学能力的推理任务已经有了一些改进。 对于当前的大型语言模型来说,执行推理任务可能会有一些难度,因此就需要更高级的提示词工程技术。 我们会在后面的指南中介绍这些高级技术。 现在,我们将介绍几个基本示例来展示算术功能。

提示词

What is 9,000 * 9,000?

输出结果

81,000,000

来,我们加大难度:

提示词

The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. A: 

输出结果

No, the odd numbers in this group add up to an odd number: 119.

这不对! 我们试着用提示词去改进它:

提示词

The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. Solve by breaking the problem into steps. First, identify the odd numbers, add them, and indicate whether the result is odd or even. 

输出结果

Odd numbers: 15, 5, 13, 7, 1Sum: 41 41 is an odd number.

好多了吧? 顺便说一句,我试过几次,有时还是会失败。 如果你可以用示例给模型说明一下,可能会获得更准确的结果。

我们后面还会针对本章中介绍更多常见应用示例。

在后面的文章中,我们将介绍更高级的提示工程概念和技术,以完成更困难任务。

  创作不易,来个三连(点赞、收藏、关注),同学们的满意是我(H-大叔)的动力。

 代码运行有问题或其他建议,请在留言区评论,看到就会回复,不用私聊。

专栏人工智能 | 大模型 | 实战与教程里面还有其他人工智能|大数据方面的文章,可继续食用,持续更新。

 


http://www.mrgr.cn/p/53557882

相关文章

Python基础之基本运算符

【一】参考网站菜鸟教程:https://www.runoob.com/python/python-operators.html【二】算数运算符python支持的算数运算符与数学的运算符号是一样的# 【1】加法运算符 a = 3 b = 4 c = a + b print(c) # 输出 7# 【2】减法运算符 a = 3 b = 4 c = a - b print(c) # 输出 -1…

struct:Python二进制数据结构

在C/C++语言中,struct被称为结构体。而在Python中,struct是一个专门的库,用于处理字节串与原生Python数据结构类型之间的转换。 本篇,将详细介绍二进制数据结构struct的使用方式。 函数与Struct类 struct库包含了一组处理结构值得模块级函数,以及一个Struct类。格式指示符…

NumPy:Python科学计算基础包

NumPy 是 Python 科学计算的基础包,几乎所有用 Python 工作的科学家都利用了的强大功能。此外,它也广泛应用在开源的项目中,如:Pandas、Seaborn、Matplotlib、scikit-learn等。Numpy全称Numerical Python。它提供了2种基本的对象:ndarray与ufunc。 ndarray是存储单一数据的…

工程技术SCI期刊,中科院三区,一投就中,国人友刊!

一、期刊名称 Industrial Management & Data Systems 二、期刊简介概况 期刊类型:SCI 学科领域:工程技术 影响因子:5.5 中科院分区:3区 出版方式:订阅模式/开放出版 版面费:$4120 三、期刊征稿范…

Python 如何优雅的操作 PyMySQL

一、PyMysql 在使用Python操作MySQL数据过的过程中,基本的增删改查操作如何更加高效优雅的执行。这里将以PyMySQL为例,介绍一下如何使用Python操作数据库。 Python对MySQL数据库进行操作,基本思路是先连接数据库 Connection 对象,建立游标 Cursor 对象,然后执行SQL语句对数…

7个鲜为人知的 Python 好库!

https://mp.weixin.qq.com/s/eY1QXpwbTNSOd08Wfpg4sQ①-PivotTableJS 无需任何代码就可以在Jupyter Notebook中交互式地分析数据。 https://pypi.org/project/pivottablejs/ ②-PyTube 只需5行代码就可以下载油管视频。可能这个是国内用户最用不到的Python库了。https://pytube…

2024年钉钉群直播回放怎么保存

钉钉群直播回放下载插件我已经打包好了,有需要的自己下载一下 小白钉钉工具打包链接:百度网盘 请输入提取码 提取码:1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.再把逍遥一仙下载器解压出来&#xff0…

男士内裤什么材质的好?五款材质舒适的男士内裤品牌

男士内裤目前已经有非常多的选择,三角/平角、传统面料/功能面料、设计版型等等都五花八门,所以不少男性朋友在挑选内裤时都觉得选择过多,另人难以选择,同时还担心选到一些质量不好的内裤,舒适性不仅差而且对健康有影响…

新手必看!2024年入行Salesforce终极指南!

Salesforce这个千亿美金巨兽,在全球范围内有42,000多名员工。作为一家发展迅速的科技公司,一直在招聘各种角色,包括销售、营销、工程师和管理人员等。IDC报告显示,2022年至2028年间,Salesforce经济净收益预计达2万亿美元,并在全球创造1200万个就业岗位。 什么是Salesforc…

Deeplab的复现(pytorch实现)

DeepLab复现的pytorch实现 本文复现的主要是deeplabv3。使用的数据集和之前发的文章FCN一样,没有了解的可以移步到之前发的文章中去查看一下。 1.该模型的主要结构 对于代码部分,主要只写了模型部分的,其他部分内容基本和FCN的一致&#xf…

开源的内存虚拟硬盘软件ImDisk的使用方法和高级用法

开源 内存虚拟硬盘软件 ImDisk 使用方法 高级用法ImDisk是一款开源的内存虚拟硬盘软件,它允许你在Windows平台上创建并管理虚拟磁盘。以下是ImDisk的使用方法和高级用法的详解: 一、使用方法详解创建一个虚拟磁盘映像文件打开ImDisk虚拟磁盘管理器。 在菜单栏中选择“操作”&…

基于springboot的在线考试系统

项目介绍 当前教育领域在教学方式、考试模式及教务管理等方面,普遍存在单一化、非专业化和不够深入的问题,导致学生的学习热情和主动性受限,同时学校的行政效率亦未能得到高效提升。因此,为了推动我国教育事业实现多元化与现代化…

C#多选下拉菜单自定义控件

C#在winform项目中 多选下拉菜单自定义控件 。 由 ComboBox 和 CheckedListBox 组合形成。 效果: 自定义控件代码 MultiComboBox.csusing System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.L…

数据结构学习:栈(详细讲解)

🎁个人主页:我们的五年 🔍系列专栏:C语言基本概念 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🚗1.对栈概念理解: &a…

【YOLOv8改进[Backbone]】使用SCINet改进YOLOv8在黑暗环境的目标检测效果

目录 一 SCINet 1 本文方法 ① 权重共享的照明学习 ② 自校准模块 ③ 无监督训练损失 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 1 整体修改 2 配置文件 3 训练 其他 一 SCINet 官方论文地址:https://arxiv.org/pdf/2204.10137 官方代码地址&…

java.lang.NoSuchMethodError的不明崩溃问题

1)java.lang.NoSuchMethodError的不明崩溃问题2)微信小游戏有可行的分析Mono内存的方法吗3)游戏运行中,从对象池里拿Item时动态设置物体锚点,导致DC成倍增加4)Scriptable Build Pipeline打包Scritptable Object报错这是第384篇UWA技术知识分享的推送,精选了UWA社区的热门…

Cannot resolve method and(java.util.function.Predicatejava.lang.String)

springboot整合knife4j报错,提示找不到该方法,用的knife4j依赖是最新版本解决方法:将knife4j版本进行降级处理,这里采用2.0.4

Elasticsearch中对文章进行索引和查重

解决思路 要在Elasticsearch中对文章进行索引和查重,可以按照以下步骤操作: 安装Elasticsearch并启动服务。 安装Python的Elasticsearch客户端库,可以使用pip install elasticsearch命令进行安装。 编写Python代码,使用Elastic…

单体到微服务架构的涅槃重生之路?

在技术演进的历史长河中,单体架构曾是众多项目的起点,但随着业务需求日益复杂,微服务架构凭借其灵活性和可扩展性逐渐成为新宠。行业内对此有着激烈的讨论,尤其是互联网大厂和行业技术大佬们对微服务架构的看法颇具影响力。在技术演进的历史长河中,单体架构曾是众多项目的…

Django Admin后台管理:高效开发与实践

title: Django Admin后台管理:高效开发与实践 date: 2024/5/8 14:24:15 updated: 2024/5/8 14:24:15 categories:后端开发tags:DjangoAdmin 模型管理 用户认证 数据优化 自定义扩展 实战案例 性能安全第1章:Django Admin基础 1.1 Django Admin简介 Django Admin是Django框架自…