【万字长文】向 AI 提问的艺术

向 AI 提问的艺术

本文是我在学习 Prompt Engineering 过程中,总结出来的一些经验和方法。里边包含一些自己的心得和验证有效的技巧。这些技巧在很多其他文章中也有介绍,这里可以当作是一个集大成的汇总。

在这里插入图片描述

我会按照“道——法——术”三个层面来介绍向 AI 提问的技巧,首先介绍整体提问的框架,然后再介绍与 AI 交互时需要遵守的准则,最后介绍细节提示工程技术。

⚠特别提示:我一直认为最好的学习方法,就是实践 —— 实践出真知,所以我强烈建议你使用ChatGPT 或其他生成工具实践一下教程中的每一个技巧和案例。这样才更有体会,才能记得更牢靠。

文章目录

    • 🍀提示工程简介
    • ☯️道【提问框架】
      • 基本提问框架
      • CRISPE 提问框架
    • 🪄法【基本原则】
      • 建议使用最新的模型
      • Prompt 里最好包含完整的信息
      • Prompt 最好简洁易懂,并减少歧义
      • Prompt 要使用正确的语法、拼写,以及标点
      • 试试英文
      • 代码使用代码块语法包裹
      • 复杂公式请使用 LaTeX \LaTeX LATEX
      • 使用“继续”让 AI 继续输出
    • ✨术【提示技巧】
      • 角色提示
      • 标准提示
      • 零样本、单样本和小样本提示
      • “让我们思考一下”提示
      • 自洽提示
      • 种子词提示
      • 知识生成提示
      • 知识集成提示
      • 多项选择提示
      • 可解释软提示
      • 控制生成提示
      • 问答提示
      • 摘要提示
      • 对话提示
      • 对抗性提示
      • 聚类提示
      • 强化学习提示
      • 课程学习提示
      • 情感分析提示
      • 命名实体识别提示
      • 文本分类提示
      • 文本生成提示
    • 🚀总结

🍀提示工程简介

提示工程是一个创建提示或提问的过程,用于引导诸如 ChatGPT 之类的大语言模型的输出。它让用户可以控制模型的输出并生成满足特定需求的文本。

ChatGPT 是当下最先进的大语言模型,能够生成媲美人类的文本。它基于 Transformer 架构,可以处理大量数据并生成高质量的文本。然而,为了从 ChatGPT 中获得最佳效果,了解如何正确引导模型非常重要。引导可以让用户控制模型的输出,并生成贴切、准确且高质量的文本。

在使用 ChatGPT 等大语言模型时,了解其功能和局限非常重要。这个模型可以生成类似人类的文本,但如果没有恰当的引导可能无法总是产生符合期望的输出。这就是提示工程的作用所在,通过提供清晰和具体的指示来指导模型产生更贴切的内容。

☯️道【提问框架】

我们先从“道”的层面为大家介绍一个好的提问(prompt)应该包含哪些部分。

基本提问框架

基本提问框架认为一个 Prompt 里需包含以下几个元素:

  • Instruction(指令): 【必填】指令,即你希望模型执行的具体任务。
  • Context(背景信息): 【选填】背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。
  • Input Data(输入数据): 【选填】输入数据,告知模型需要处理的数据。
  • Output Indicator(输出提示): 【选填】输出提示,告知模型我们要输出的类型或格式。

只要你按照这个框架写 prompt ,模型返回的结果都不会差。

当然,你在写 prompt 的时候,并不一定要包含所有 4 个元素,而是可以根据自己的需求排列组合。比如拿前面的几个场景作为例子:

  • 推理: 指令 + 背景信息 + 输入数据
  • 信息提取: 指令 + 背景信息 + 输入数据 + 输出提示

CRISPE 提问框架

CRISPE 框架更加复杂,但完备性更高,比较适合用于编写 Prompt 模板。CRISPE 分别代表以下含义:

  • CR: Capacity and Role(能力与角色)。你希望 AI 扮演怎样的角色。
  • I: Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
  • S: Statement(指令),你希望 AI 做什么。
  • P: Personality(个性),你希望 AI 以什么风格或方式回答你。
  • E: Experiment(尝试),要求 AI为你提供多个答案。
步骤示例
Capacity and Role(能力与角色)你是一个机器学习框架方面的软件开发专家,以及专业博客作者
Insight (洞察力)请向对机器学习最新进展感兴趣的非专业人士
Statement(指令)提供最流行的机器学习框架的全面概述,包括它们的优点和缺点,以及现实生活中的例子和研究案例,以说明这些框架如何在各个行业中成功地被使用
Personality(个性)请混合使用深度学习三巨头:Yoshua Bengio、Geoffrey Hinton 和 Yann LeCun 的写作风格
Experiment(尝试)生成 2 篇 1000 字左右的文章

将所有的元素都组合在一起,就变成了这样的 Prompt:

你是一个机器学习框架方面的软件开发专家,以及专业博客作者。请向对机器学习最新进展感兴趣的非专业人士,提供最流行的机器学习框架的全面概述,包括它们的优点和缺点,以及现实生活中的例子和研究案例,以说明这些框架如何在各个行业中成功地被使用。请混合使用深度学习三巨头:Yoshua Bengio、Geoffrey Hinton 和 Yann LeCun 的写作风格,生成 2 篇 1000 字左右的文章。

对比基础 Prompt 生成的结果会非常不一样,各位可以尝试一下。

🪄法【基本原则】

在与 AI 对话时,亦或者在使用和设计 prompt 时,有以下几个原则与建议。记住这几个原则,能让你写出更好的 prompt 😁

建议使用最新的模型

如果你是直接使用 AI 产品,比如 ChatGPT 或者 Midjourney,那无需在意这个原则。如果你是通过 API 或者 OpenAI Playground 的方式使用,则建议你先使用最新的模型测试。

Prompt 里最好包含完整的信息

这个是对结果影响最大的因素。比如如果你想让 AI 写一首关于 OpenAI 的诗。

写一首关于OpenAI的诗

上面的提示生成的答案可能就会很宽泛,而更好的方式是增加更多的信息。

{著名诗人} 的风格写一首关于 OpenAI 的鼓舞人心的短诗,重点介绍最近的 DALL-E 3 产品发布(DALL-E 是一种文本生成图像的机器学习模型)

Prompt 最好简洁易懂,并减少歧义

这个比较好理解,即使你跟人说话,说一些简单的短句,对方也会更容易听懂,AI 也是这样。另外,在 prompt 里也需要减少一些歧义,少用模棱两可的词语。

比如下面的例子就很不明确,什么叫“不要太多”?

这个产品的描述应该很短,不要太多。

更好的 prompt 是这样的,明确告知要写多少句话,就比较明确:

使用 3 到 5 句话来描述该产品。

Prompt 要使用正确的语法、拼写,以及标点

错别字非常影响 AI 的理解,尽管它有一定的纠错理解能力,但是就目前测试来看所有大模型对中文的模糊纠错能力还有待提升。因此尽可能确保输入文字正确,不要出现错别字。

试试英文

像 ChatGPT、Claude、Llama 2 等海外企业和机构推出的大模型,由于训练数据 90% 以上是英文,因此这些模型对英文的理解和处理能力要高于中文。所以当一个问题 AI 始终无法给出令人满意的回复时,不妨试试用英文提问,往往能获得令人满意的回复。

代码使用代码块语法包裹

如果问题或指令中包含代码,请用代码块语法(```)括起来,尤其是在用英文提问时,这有助于 AI 区分哪里是文字描述,哪里是代码。

复杂公式请使用 LaTeX \LaTeX LATEX

如果问题或指令中包含复杂,请使用 LaTeX \LaTeX LATEX 语法表达公式。目前最先进的大模型可以理解 LaTeX \LaTeX LATEX 语法,这对解决很多数学问题非常有帮助。

使用“继续”让 AI 继续输出

一般大语言模型的输出是有最大 token 限制的,当输出内容长度达到最大 token 数时,输出会终止。此时只要向 AI 发送“ 继续 ”,模型就会接着上面的内容继续输出。

✨术【提示技巧】

接下来探讨适用于 AI 大语言模型的各种提示工程技术。我们将讨论各种类型的提示以及如何使用它们来实现特定目标。

角色提示

角色提示技术是一种通过为模型提供特定角色来指导 AI 输出的方法。 此技术对于生成针对特定上下文或受众量身定制的文本很有用。

要使用角色提示技术,您需要为模型提供明确且具体的角色。 例如,如果您正在生成客服回复,您需要提供诸如“客服代表”之类的角色。

提示公式:“以【角色】生成【任务】

生成客服回复:

  • 任务:生成对客户查询的响应
  • 角色:客服代表
  • 提示公式:“以客服代表的身份生成客户咨询的回复"

生成法律文件:

  • 任务:生成法律文件
  • 角色:律师
  • 提示公式:“以律师的身份生成法律法规文件。"

将角色提示技术与指令提示和种子词提示结合使用能增强 AI 的输出。

以下是指令提示、角色提示和种子词提示技术组合使用的示例:

  • 任务:为新智能手机生成产品描述
  • 指令:描述应内容丰富、具有说服力并突出智能手机的独特功能
  • 角色:营销代表
  • 种子词:“创新”
  • 提示公式:“以营销代表的角色,生成内容丰富、有说服力的产品描述,突出新智能手机的创新功能。智能手机具有以下功能 [插入您的功能]

上面示例中,使用指令提示来确保产品描述具有信息性和说服力;角色提示用于确保描述是从营销代表的角度来写的;并使用种子词提示来确保描述集中在智能手机的创新功能上。

标准提示

标准提示是通过为模型提供要完成的特定任务来指导 AI 输出的简单方法。

例如,如果您想生成一篇新闻文章的摘要,您可以提供一个任务描述,例如“总结这篇新闻文章”。

提示公式:“生成一个【任务】

生成新闻摘要:

  • 任务:总结这篇新闻文章
  • 提示公式:“生成这篇新闻文章的摘要”

生成产品评论:

  • 任务:写一篇新款智能手机的评论
  • 提示公式:“生成这款新智能手机的评论”

同样地,标准提示可以与角色提示和种子词提示等其他技术结合使用,以增强 AI 的输出。

以下是组合使用标准提示、角色提示和种子词提示技术的示例:

  • 任务:为新款笔记本电脑生成产品评论
  • 指令:评论应该独立客观、信息丰富,并突出笔记本电脑的独特功能
  • 角色:技术专家
  • 种子词:“强大”
  • 提示公式:“以技术专家的角色,为新款笔记本电脑生成客观且信息丰富的产品评论,突出新款笔记本电脑的强大功能。”

上面示例中,标准提示技术用于确保模型生成产品评论;角色提示用于确保评论是从技术专家的角度撰写的;并使用种子词提示,确保评论重点关注笔记本电脑的强大功能。

零样本、单样本和小样本提示

零样本、单样本和少样本提示通过提供最少示例或不提供示例让从 AI 生成文本的技术。当特定任务的可用数据有限或任务是新的且定义不明确时,这项技术会非常有用。

当没有可用于任务的示例时,使用零样本提示技术。模型使用通用任务,并根据对任务的理解生成文本。

当只有一个示例可用于任务时,使用单样本提示技术。模型会利用示例进行“短学习”,并根据其对示例的理解生成文本。

当可用于任务的示例数量有限时,使用小样本提示技术。模型会利用示例进行“短学习”,并根据其对示例的理解生成文本。

提示公式:“根据 [n] 个示例生成文本

为没有可用示例的新产品生成产品描述:

  • 任务:为一款新的智能手表撰写产品描述
  • 提示公式:“使用零示例为这款新型智能手表生成产品描述”

生成与可用示例的产品比较:

  • 任务:将新智能手机与最新款 iPhone 进行比较
  • 提示公式:“ [用一个例子(最新的 iPhone)] 生成这款新智能手机的产品比较”

使用几个可用示例生成产品评论:

  • 任务:写一篇新电子阅读器的评论
  • 提示公式:“用几个例子生成对这个新电子阅读器的评论 [其他 3 个电子阅读器]

这些技术可用于根据模型对任务或所提供示例的理解来生成文本。

“让我们思考一下”提示

“让我们思考一下”提示是一种用于鼓励 AI 生成反思和沉思文本的技术。 这种技巧对于写散文、诗歌或创意写作等任务很有用。

提示公式:“让我们思考一下”,后跟一个主题或问题。

生成一篇反思性文章:

  • 任务:写一篇关于个人成长的反思性文章
  • 提示公式:“让我们思考一下:个人成长”

生成一首诗:

  • 任务:写一首关于季节变化的诗
  • 提示公式:“让我们思考一下:季节的变化”

此提示是一种交互式提示,要求就特定主题或想法进行对话或讨论。您的提示本质上是邀请 AI 就手头的主题进行对话或讨论,提示语是对话或文本生成的起点。然后,模型使用其训练数据和算法生成与提示相关的响应。此技术允许 AI 根据提供的提示生成上下文适当且连贯的文本。

要将“让我们思考一下”提示技术用于 AI,您可以按照如下步骤操作:

  1. 确定您要讨论的主题或想法。
  2. 制定能够清楚陈述主题或想法的提示,并开始对话或文本生成。
  3. 在提示前加上“让我们思考一下”或“让我们讨论一下”以表明您正在发起对话或讨论。

以下是使用此技术的几个提示示例:

  • 提示:“让我们思考一下气候变化对农业的影响”
  • 提示:“让我们讨论一下人工智能的现状”
  • 提示:“让我们谈谈远程工作的好处和坏处”

您还可以添加一个开放式问题、陈述或一段文本,让模型补充或在此基础上建立文本。

提供提示后,模型将使用其训练数据和算法生成与提示相关的响应,并以连贯的方式继续对话。

这种独特的提示有助于 AI 以不同的视角和角度给出答案,从而产生更具活力和信息量的内容。

该提示的使用步骤简单易行,可以真正改变您的写作。建议大家亲自试一试,亲身体验一下。

自洽提示

自洽提示是一种用于确保 AI 的输出与提供的输入一致的技术。 这种技术对于诸如事实核查、数据验证或文本生成中的一致性检查等任务很有用。

自洽提示提示的提示公式是在输入文本后加指令“请确保以下文本是自洽的”。或者,可以提示模型生成与提供的输入一致的文本。

下面是一些提示示例及其公式:

示例1 - 文本生成:

  • 任务:生成产品评论
  • 指令:评论应与输入中提供的产品信息一致
  • 提示公式:“生成与以下产品信息 [插入产品信息] 一致的产品评论”

示例2 - 文本摘要:

  • 任务:总结一篇新闻文章
  • 指令:摘要应与文章提供的信息一致
  • 提示公式:“以与提供的信息一致的方式总结以下新闻文章 [插入新闻文章]

示例3 - 文本补全:

  • 任务:完成一个句子
  • 指令:补全要与输入中提供的上下文一致
  • 提示公式:“以与提供的上下文一致的方式完成以下句子 [插入句子]

示例4 - 事实检查:

  • 任务:检查给定新闻文章的一致性
  • 输入文本:“文章说这个城市的人口是500万,后来又说人口是700万。”
  • 提示公式:“请确保以下文字自洽:文章说这个城市的人口是500万,后来又说人口是700万。”

示例5 - 数据校验:

  • 任务:检查给定数据集中的一致性
  • 输入文本:“数据显示7月平均气温为30度,但最低气温记录为20度。”
  • 提示公式:“请确保以下文字自洽:数据显示7月平均气温为30度,最低气温记录为20度。”

种子词提示

种子词提示是一种用于通过为其提供特定种子词或短语来控制 AI 输出的技术。

种子词提示的提示公式是种子词或词组后面加指令“请根据以下种子词生成文本”

文本生成:

  • 任务:生成一个关于龙的故事
  • 种子词:“龙”
  • 提示公式:“请根据以下种子词生成文本:龙”

语言翻译:

  • 任务:将一个句子从中文翻译成英文
  • 种子词:“你好”
  • 提示公式:“请根据以下种子词生成文本:你好”

这种技术允许模型生成与种子词相关的文本并对其进行扩展。这是一种控制模型生成的文本与特定主题或上下文相关的方法。

种子词提示可以与角色提示、指令提示相结合,生成更具体、更有针对性的生成文本。通过提供种子词或短语,模型可以生成与该种子词或短语相关的文本,并且通过提供有关期望输出和角色的信息,模型可以生成与角色一致的特定风格或语气的文本或说明。这允许对生成的文本进行更多控制,并且可用于广泛的应用场景。

下面是一些提示示例及其公式:

示例1 - 文本生成:

  • 任务:生成一首诗
  • 指令:该诗需与种子词“爱”相关,并以十四行诗的形式书写。
  • 角色:诗人
  • 提示公式:“以诗人的身份生成与种子词‘爱’相关的十四行诗”

示例2 - 文本补全:

  • 任务:补全一个句子
  • 指令:补充需与种子词“科学”相关,并以研究论文的形式书写
  • 角色:研究员
  • 提示公式:“以研究人员的研究论文的风格,以种子词‘科学’为主题完成以下句子: [插入句子]

示例3 - 文本摘要:

  • 任务:总结一篇新闻文章
  • 输入文本:摘要应与种子词“政治”相关,并以中立和公正的语气撰写
  • 角色:记者
  • 提示公式:“以记者的中立和公正的语气,以与种子词‘政治’相关的方式总结以下新闻文章: [插入新闻文章]

知识生成提示

知识生成提示是一种用于从 AI 中获取新的和原始信息的技术。

知识生成提示的提示公式是“请生成关于 X 的新的和原始的信息”,其中 X 是感兴趣的主题。

这是一种使用模型预先存在的知识来生成新信息或回答问题的技术。

此提示用在 AI 上,应向模型提供问题或主题作为输入,以及为生成的文本指定任务或目标的提示。提示应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 知识生成:

  • 任务:生成有关特定主题的新信息
  • 指令:生成的信息应准确且与主题相关
  • 提示公式:“生成关于 [特定主题] 的新的准确信息”

示例2 - 回答问题:

  • 任务:回答一个问题
  • 指令:答案应准确并与问题相关
  • 提示公式:“请准确回答以下问题: [插入问题]

示例3 - 知识整合:

  • 任务:将新信息与现有知识相结合
  • 指令:整合应准确并与主题相关
  • 提示公式:“将以下信息与关于 [特定主题] 的现有知识相结合: [插入新信息]

示例4 - 数据分析:

  • 任务:从给定的数据集中生成有关客户行为的见解
  • 指令:要准确符合事实
  • 提示公式:“请从该数据集中生成有关客户行为的新的原始信息。”

知识集成提示

该技术使用模型预先存在的知识来集成新信息或连接不同的信息片段。

此技术对于将现有知识与新信息相结合以生成对特定主题的更全面的理解很有用。

此提示用在 AI 上,应提供新信息和现有知识作为输入,以及指定生成文本的任务或目标的提示。提示应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 知识整合:

  • 任务:将新信息与现有知识相结合
  • 指令:整合应准确并与主题相关
  • 提示公式:“将以下信息与关于 [特定主题] 的现有知识相结合: [插入新信息]

示例2 - 连接信息片段:

  • 任务:连接不同的信息片段
  • 指令:连接应该是相关的且合乎逻辑的
  • 提示公式:“以相关且合乎逻辑的方式连接以下信息: [插入信息 1] [插入信息 2]

示例3 - 更新现有知识:

  • 任务:用新信息更新现有知识
  • 指令:更新的信息应该是准确和相关的
  • 提示公式:“使用以下信息更新关于 [特定主题] 的现有知识: [插入新信息]

多项选择提示

该技术提供了一个模型,其中包含一个问题或任务以及一组预定义选项作为潜在答案。

此技术对于生成仅限于一组特定选项的文本很有用,可用于问答、文本完成和其他任务。该模型可以生成仅限于预定义选项的文本。

此提示用在 AI 上,应向模型提供一个问题或任务作为输入,以及一组预定义选项作为潜在答案。提示还应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 回答问题:

  • 任务:回答多项选择题
  • 指令:答案应该是预定义的选项之一
  • 提示公式:“通过选择以下选项之一回答问题 [插入问题] 选项: [插入选项 1] [插入选项 2] [插入选项 3]

示例2 - 文本补全:

  • 任务:用预定义的选项之一完成一个句子
  • 指令:补全应该是预定义的选项之一
  • 提示公式:“通过选择以下选项之一完成句子 [插入句子] 选项: [插入选项1] [插入选项2] [插入选项3]

示例3 - 情绪分析:

  • 任务:将文本分类为正面、中性或负面
  • 指令:分类应该是预定义的选项之一
  • 提示公式:“通过选择以下选项之一将以下文本分类为正面、中性或负面: [插入文本] [正面] [中性] [负面]

可解释软提示

可解释软提示是一种在控制模型生成文本同时为模型提供一些灵活性的技术。

它是通过为模型提供一组受控输入和一些关于所需输出的附加信息来完成的。该技术允许生成更具可解释性和可控性的文本。

以下是提示示例及其公式:

示例1 - 文本生成:

  • 任务:生成一个故事
  • 指令:故事应该基于一组给定的角色和特定的主题
  • 提示公式:“根据以下人物生成故事: [插入人物] 和主题: [插入主题]

示例2 - 文本补全:

  • 任务:补全一个句子
  • 指令:补全应以特定作者的风格完成
  • 提示公式:“按照 [具体作者] 的风格完成下列句子: [插入句子]

示例3 - 语言建模:

  • 任务:生成特定样式的文本
  • 指令:文字应采用特定时期的风格
  • 提示公式:“生成 [特定时期] 样式的文本: [插入上下文]

控制生成提示

受控生成提示可以生成对输出具有高度控制的文本的技术。

这是通过为模型提供一组特定的输入(例如模板、特定词汇表或一组约束)来实现的,这些输入可用于指导生成过程。

以下是提示示例及其公式:

示例1 - 文本生成:

  • 任务:生成一个故事
  • 指令:故事应基于给定模板
  • 提示公式:“根据以下模板生成故事: [插入模板]

示例2 - 文本补全:

  • 任务:补全一个句子
  • 指令:补全时应使用特定的词汇
  • 提示公式:“使用以下词汇 [插入词汇] 补全以下句子: [插入句子]

示例3 - 语言建模:

  • 任务:生成特定样式的文本
  • 指令:文本应遵循一组特定的语法规则
  • 提示公式:“生成遵循以下语法规则 [插入规则] 的文本: [插入上下文]

通过为模型提供一组可用于指导生成过程的特定输入,受控生成提示可以生成更可控和可预测的文本。

问答提示

问答提示是一种让模型生成文本来回答特定问题或任务的技术。这是通过向模型输入问题或任务以及可能与问题或任务相关的其他信息来实现的。

问答提示对诸如问答和信息检索之类的任务非常有用。

以下是提示示例及其公式:

示例1 - 事实答疑:

  • 任务:回答一个事实问题
  • 指令:答案应准确且相关
  • 提示公式:“回答以下事实问题: [插入问题]

示例2 - 定义:

  • 任务:提供一个词的定义
  • 指令:定义要准确
  • 提示公式:“定义以下词: [插入词]

示例3 - 信息检索:

  • 任务:从特定来源检索信息
  • 指令:检索到的信息应该是相关的
  • 提示公式:“从以下来源 [插入来源] 检索有关 [特定主题] 的信息。”

摘要提示

摘要提示是一种让模型生成给定文本的浓缩版本的技术。生成的浓缩版本保留原文主要思想和信息。

摘要提示通过向模型输入长文本并要求它生成该文本的摘要来实现的。

该技术对于文本摘要和信息压缩等任务很有用。

此提示用在 AI 上,应提供长文本作为输入,并要求生成该文本的摘要。提示还应包括有关所需输出的信息,例如所需的摘要长度和任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 文章摘要:

  • 任务:总结一篇新闻文章
  • 指令:摘要应该是对文章要点的简要概述
  • 提示公式:“用一句话总结以下新闻文章: [插入文章]

示例2 - 会议纪要:

  • 任务:总结会议纪要
  • 指令:摘要应突出会议的主要决定和行动
  • 提示公式:“通过列出主要决定和采取的行动来总结以下会议记录: [插入记录]

示例3 - 书摘:

  • 任务:总结一本书
  • 指令:摘要应该是对本书要点的简要概述
  • 提示公式:“用一小段话总结以下书籍的核心内容: [插入书名]

对话提示

对话提示是一种让模型模拟生成两个或多个实体之间对话文本的技术。通过为模型提供上下文和一组人物角色或实体,以及他们的角色和背景,并要求模型在它们之间生成对话。

因此使用时,应该为模型提供上下文和一组人物或实体,以及它们的角色和背景。该模型还应提供有关所需输出的信息,例如对话或对话的类型以及任何特定要求或约束。

对话提示技术对于对话生成、故事写作和聊天机器人开发等任务非常有用。

以下是提示示例及其公式:

示例1 - 对话生成:

  • 任务:生成两个角色之间的对话
  • 指令:对话应该自然并且与给定的上下文相关
  • 提示公式:“在以下上下文 [插入上下文] 中生成以下角色 [插入角色] 之间的对话。”

示例2 - 撰写故事:

  • 任务:在故事中生成对话
  • 指令:对话要与故事中的人物和事件保持一致
  • 提示公式:“在下面的故事 [插入故事] 中生成下列人物 [插入人物] 之间的对话。”

示例3 - 聊天机器人开发:

  • 任务:为客服聊天机器人生成对话
  • 指令:对话要专业,提供准确信息
  • 提示公式:“当客户询问 [插入主题] 时,为客服聊天机器人生成专业且准确的对话。”

对抗性提示

对抗性提示是一种让模型生成可抵抗某些类型攻击或偏见的文本生成技术。该技术可用于训练更健壮且能抵抗某些类型攻击或偏差的模型。

要在 AI 中使用对抗性提示,需要为模型提供提示,该提示旨在使模型难以生成与所需输出一致的文本。提示还应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 文本分类的对抗性提示:

  • 任务:生成特定标签分类的文本
  • 指令:生成的文本应该很难归类为特定的标签
  • 提示公式:“生成难以归类为 [插入标签] 的文本。”

示例2 - 情绪分析的对抗性提示

  • 任务:生成难以归类为特定情绪的文本
  • 指令:生成的文本应该很难归类为特定的情感
  • 提示公式:“生成难以归类为具有 [插入情绪] 情感的文本。”

示例3 - 语言翻译的对抗性提示:

  • 任务:生成难以翻译的文本
  • 指令:生成的文本应该很难翻译成目标语言
  • 提示公式:“生成难以翻译成 [插入目标语言] 的文本。”

聚类提示

聚类提示是一种让模型根据某些特性或特征将相似数据分组在一起的技术。

聚类提示是通过为模型提供一组数据并要求它根据某些特性或特征将它们分组到指定集合中来实现的。

该技术对于数据分析、机器学习和自然语言处理等任务非常有用。

在 AI 中使用聚类提示,需要提供一组数据,并要求根据某些特性或特征将它们分组到集合中。提示还应包括有关所需输出的信息,例如要生成的聚类数量以及其他特定要求或约束。

以下是提示示例及其公式:

示例1 - 客户评论聚类:

  • 任务:将相似的客户评论分组在一起
  • 指令:应根据情绪对评论进行分组
  • 提示公式:“根据情绪将以下客户评论分成3类: [插入评论] 。”

示例2 - 新闻文章聚类

  • 任务:将相似的新闻文章分组在一起
  • 指令:文章应按主题分组
  • 提示公式:“根据主题将以下新闻文章分组: [插入文章] 。”

示例3 - 科学论文聚类:

  • 任务:将相似的科学论文分组在一起
  • 指令:论文应按研究领域分组
  • 提示公式:“根据研究领域将以下科学论文分组: [插入论文] 。”

强化学习提示

强化学习提示是一种让模型从过去的行为中学习并随着时间的推移提高其性能的技术。

在 AI 中使用强化学习提示,需要为模型提供一组输入和奖励,并允许其根据收到的奖励调整行为。提示还应包括有关所需输出的信息,例如要完成的任务和任何特定要求或约束。

该技术对于决策、游戏和自然语言生成等任务非常有用。

以下是提示示例及其公式:

[!TIP]
示例1 - 文本生成强化学习:

  • 任务:生成与特定样式一致的文本
  • 指令:模型应根据生成与特定样式一致的文本所获得的奖励来调整其行为
  • 提示公式:“使用强化学习生成符合以下风格的文本*[插入风格]* 。”

[!TIP]
示例2 - 语言翻译强化学习

  • 任务:将文本从一种语言翻译成另一种语言
  • 指令:模型应根据其产生准确翻译而获得的奖励调整其行为
  • 提示公式:使用强化学习将以下文本 [插入文本][插入语言] 翻译成 [插入语言] 。”

[!TIP]
示例3 - 用于问答的强化学习:

  • 任务:生成问题的答案
  • 指令:模型应根据产生准确答案所获得的奖励来调整其行为
  • 提示公式:“使用强化学习生成以下问题的答案 [插入问题] 。”

课程学习提示

课程学习是一种让模型先在较简单的任务上进行训练并逐渐增加难度来学习复杂任务的技术。

在 AI 中使用课程学习提示,需要为模型提供一系列难度逐渐增加的任务。提示还应包括有关所需输出的信息,例如要完成的最终任务以及任何特定要求或约束。

该技术对于自然语言处理、图像识别和机器学习等任务非常有用。

以下是提示示例及其公式:

示例1 - 文本生成课程学习:

  • 任务:生成与特定样式一致的文本
  • 指令:在转向更复杂的样式之前,应先对模型进行简单样式的训练
  • 提示公式:“使用课程学习按以下顺序 [插入顺序 ] 生成符合以下样式 [插入样式] 的文本。”

示例2 - 语言翻译课程学习

  • 任务:将文本从一种语言翻译成另一种语言
  • 指令:模型应先用简单的语言进行训练,然后再转向更复杂的语言
  • 提示公式:使用课程学习按以下顺序 [插入顺序] 从以下语言 [插入语言] 翻译文本。”

示例3 - 用于问答的课程学习:

  • 任务:生成问题的答案
  • 指令:模型应先针对简单的问题进行训练,然后再转向更复杂的问题
  • 提示公式:“使用课程学习按以下顺序 [插入顺序] 生成以下问题 [插入问题] 的答案。”

情感分析提示

情感分析是一种让模型确定一段文本的情绪基调或态度的技术,例如是积极的、消极的还是中立的。

在 AI 中使用课程学习提示,应向模型提供一段文本并要求根据其情绪对其进行分类。提示还应包括有关所需输出的信息,例如要检测的情绪类型(例如正面、负面、中性)以及其他特定要求或约束。

该技术可用于自然语言处理、客户服务和市场研究等任务。

以下是提示示例及其公式:

示例1 - 客户评论的情感分析:

  • 任务:确定客户评论的情绪
  • 指令:模型应将评论分类为正面、负面或中性
  • 提示公式:“对以下客户评论 [插入评论] 进行情绪分析,并将其分类为正面、负面或中性。”

示例2 - 微博情感分析

  • 任务:确定微博的情绪
  • 指令:模型应该将微博分类为正面、负面或中性
  • 提示公式:对以下微博 [插入微博] 进行情绪分析,并将它们分类为正面、负面或中性。”

示例3 - 产品评论的情感分析:

  • 任务:确定产品评论的情绪
  • 指令:模型应将评论分类为正面、负面或中性
  • 提示公式:“对以下产品评论 [插入评论] 进行情绪分析,并将其分类为正面、负面或中性。”

命名实体识别提示

命名实体识别 (NER) 是一种让模型识别和分类文本中的命名实体(例如人、组织、位置和日期)的技术。

在 AI 中使用课程学习提示,应向模型提供一段文本,并要求模型识别和分类文本中的命名实体。提示还应包括有关所需输出的信息,例如要识别的命名实体的类型(例如人员、组织、位置、日期)和任何特定要求或约束。

以下是提示示例及其公式:

示例1 - 新闻文章中的命名实体识别:

  • 任务:识别和分类新闻文章中的命名实体
  • 指令:模型应识别和分类人员、组织、地点和日期
  • 提示公式:“对下面的新闻文章 [插入文章] 进行命名实体识别,并对人物、组织、地点和日期进行识别和分类。”

示例2 - 法律文件中的命名实体识别

  • 任务:识别和分类法律文件中的命名实体
  • 指令:模型应识别和分类人员、组织、地点和日期
  • 提示公式:“对以下法律文件 [插入文件] 进行命名实体识别,并对人员、组织、地点和日期进行识别和分类。”

示例3 - 研究论文中的命名实体识别:

  • 任务:识别和分类研究论文中的命名实体
  • 指令:模型应识别和分类人员、组织、地点和日期
  • 提示公式:“对以下研究论文 [插入论文] 进行命名实体识别,并对人物、组织、地点和日期进行识别和分类。”

文本分类提示

文本分类是一种让模型将文本分类为不同类型或类别的技术。该技术对于自然语言处理、文本分析和情感分析等任务非常有用。

⚠注意:文本分类不同于情感分析。情感分析特别关注确定文本中表达的情绪或情感。比如确定文本是否表达了积极、消极或中性的情绪。情感分析通常用于分析客户评论、社交媒体帖子和其他形式的文本,其中文本所表达的情感很重要。

在 AI 中使用课程学习提示,应向模型提供一段文本,并要求其根据预定义的类别或标签对其进行分类。提示还应包括有关所需输出的信息,例如类型或类别的数量,以及其他特定要求或约束。

以下是提示示例及其公式:

示例1 - 客户评论的文本分类:

  • 任务:将客户评论分为不同的类别,例如电子产品、服装和家具
  • 指令:模型应根据评论的内容对评论进行分类
  • 提示公式:“对以下顾客评论 [插入评论] 进行文本分类,根据内容将其分为电子、服装、家具等不同类别。”

示例2 - 新闻文章的文本分类

  • 任务:将新闻文章分类为不同的类别,例如体育新闻、政治新闻和娱乐新闻
  • 指令:模型应根据文章的内容对文章进行分类
  • 提示公式:“对以下新闻文章 [插入文章] 进行文本分类,根据内容将其分为体育新闻、政治新闻、娱乐新闻等不同类别。”

示例3 - 邮件文本分类:

  • 任务:将电子邮件分类为不同的类别,例如垃圾邮件、重要邮件或紧急邮件
  • 指令:模型应根据邮件的内容和发件人对邮件进行分类
  • 提示公式:“对以下邮件 [插入邮件] 进行文本分类,根据内容和发件人将邮件分为垃圾邮件、重要邮件、紧急邮件等不同类别。”

文本生成提示

文本生成提示与本书提到的其他几种提示技术相关,如:零样本、单样本和小样本提示、受控生成提示、翻译提示、语言建模提示、句子补全提示。所有这些提示都是相关的,因为它们都涉及生成文本,但它们生成文本的方式以及对生成文本的特定要求或约束方面有所不同。

文本生成提示可用于微调预训练模型或为特定任务训练新模型。

以下是提示示例及其公式:

示例1 - 故事写作的文本生成:

  • 任务:根据给定的提示生成故事
  • 指令:故事应至少 1000 字,包括一组特定的角色和情节
  • 提示公式:“根据以下提示 [插入提示] ,生成一个至少1000字的故事,包括人物 [插入人物] 和情节 [插入情节] 。”

示例2 - 用于语言翻译的文本生成

  • 任务:将给定文本翻译成另一种语言
  • 指令:翻译要准确地道
  • 提示公式:“将以下文本 [插入文本] 翻译成 [插入目标语言] 并确保它是准确和地道的。”

示例3 - 用于文本补全的文本生成:

  • 任务:补全给定的文本
  • 指令:生成的文本应与输入文本连贯一致
  • 提示公式:“完成以下文字 [插入文字] ,并确保与输入的文字连贯一致。”

🚀总结

本文作为一份提示工程技巧汇总,旨在帮助您理解并运用各种提示技术,从而让 AI 生成高质量答案

我们探讨了如何使用不同的提示工程技术来实现不同的目标。然而,要想获得满足预期的高质量输出,理解如何正确向 AI 大语言模型提问至关重要。通过阅读本文,您将学会如何使用提示工程技术来控制 AI 的输出,并生成满足特定需求的文本。

最后,再次强调一下,最好的学习方法就是实操,教程里提供不少案例,你可以边阅读,边尝试。甚至如果可以的话,不妨将你觉得好的问答分享出来,与整个社区共享。

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

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

相关文章

【最经典的79个】软件测试面试题(内含答案)

001.软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne) 测试用例 用例编号 测试项目 测试标题 重要级别 预置条件 输入数据 执行步骤 预期结果 0002.问&…

vue2中,下拉框多选和全选的实现

vue2中&#xff0c;下拉框多选和全选的实现 代码布局在methods: 中添加功能函数较为完整的一个整体代码&#xff1a; 如图所示点击全选即可完成下拉框中全部子项的全部的选中&#xff0c;同时取消全选即可全部取消选择。 代码布局 <div class"chos-box2"><…

如何给照片添加水印?请看下面3个简单教程

如何给照片添加水印&#xff1f;随着智能手机的普及和不断提升的拍摄技术&#xff0c;如今人们可以轻松使用手机进行高质量的照片拍摄。从老人到小孩&#xff0c;每个人都可以在日常生活中捕捉到美好瞬间&#xff0c;并将其记录下来。作为一种表达自己的方式&#xff0c;现在手…

安装pythonQt报错

在使用命令行pip install PyQt5安装pythonQt5的时候报错。 镜像源有问题&#xff0c;手动设置可用的源 pip install PyQt5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tool工具 pip install PyQt5-tools -i https://pypi.douban.com/simple 安装成…

以赛促教,以赛促研 ——计算机科学系举办“火焰杯”软件测试开发选拔赛颁奖仪式

颁奖仪式 2023年3月9日&#xff0c;第三届“火焰杯”软件测试开发选拔赛颁奖仪式在南海楼124会议室举行&#xff0c;计算机科学系系主任龙锦益教授、指导老师孙玉霞副教授、测吧科技有限公司王雪冬总监及获奖同学参加了颁奖仪式。 会议伊始&#xff0c;龙锦益教授对王雪冬总监…

Jupyter Notebook 设置黑色背景主题

Jupyter Notebook 设置黑色背景主题 # 包安装 pip install jupyterthemes -i https://mirrors.aliyun.com/pypi/simple pip install --upgrade jupyterthemes # 查看可用主题 jt -l # monokai暗背景&#xff0c;-f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字…

labelimg使用以及xml和txt转化

一、使用 winr——输入cmd 激活已有的环境 conda activate torch1.2.0 下载lebelme pip install labelme3.16.7 再输入labelme打开软件就可 可以设置自动保存&#xff0c;View——auto save mode打上勾 二、注意 1.自己类的定义名称&#xff0c;在txt中是0&#xff0c;1&a…

java: 警告: 源发行版 8 需要目标发行版 1.8;(可我的项目是其他版本啊?)

我的项目是1.7 可运行时却要求是1.8 情况1 提示需要1.8 而你刚好项目就是1.8 那么就是配置问题 这里就不描述怎么解决了 方案很多。 情况2 项目用的不是XX版本却提示需要XX版本 在你的Maven目录的conf文件夹下settings.xml中下面 不知道maven目录在哪从这里看 如果这里指…

H指数----题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 由题目可知&#xff0c;我们要寻找的是一个最大的H值。 首先先对引用次数排序&#xff0c;然后再寻找在规定内的最大H值 public int hIndex(int[] citations) {Arrays.sort(citatio…

git初学者使用教程(包含Android studio中git使用)

文章目录 1、登录 / 注册git账号2、创建git仓库3、设置git的用户名和邮箱4、创建git仓库5、已有仓库推送代码到远程仓库6、进阶使用&#xff0c;命令行和Android studio软件使用1. 克隆&#xff08;Clone&#xff09;源码仓库2. 查看仓库状态&#xff08;Status&#xff09;3. …

【已解决】Word文档的“打开密码”在哪里设置?

我们知道&#xff0c;Word文档可以设置“打开密码”&#xff0c;保护文件不被随意打开&#xff0c;只有输入正确的密码才能打开文档。那这个“打开密码”要在哪里设置呢&#xff1f;不清楚的小伙伴往下看就知道啦。 在Word文档里&#xff0c;有两个路径可以设置“打开密码”。…

扩散模型学习——代码学习

文章目录 引言正文UNet网络结构训练方法DDPM采样方法讲解Context上下文信息添加DDIM的方法详解 总结参考 引言 这是第一次接触扩散模型&#xff0c;为了学习&#xff0c;这里好好分析一下他的代码 正文 UNet网络结构 这部分主要是定义一下网络结构&#xff0c;以及相关的网…

递归方法实现字符串反转函数

递归函数是一种在函数内部调用自身的函数。它通过将复杂的问题分解成更小的子问题来解决。递归函数通常包含两部分&#xff1a;基本情况和递归调用。请使用递归方法实现字符串反转的C语言函数。 #include <stdio.h>void reverseString(char* str) {///Begin///// 递归基…

极智嘉(Geek+)柔性货箱到人拣选方案,助力Starlinks实现高效运营

近些年&#xff0c;电商业务席卷全球&#xff0c;一众企业蓬勃发展。比如沙特阿拉伯先进的物流与供应链解决方案供应商Starlinks的电子商务的销售额从6%增长到了23%。为满足日益增长的国际电商业务需求&#xff0c;以及订单交付时效性更高的要求&#xff0c;Starlinks与全球仓储…

领先一步,效率翻倍:PieCloudDB Database 预聚集特性让查询速度飞起来!

在大数据时代&#xff0c;如何有效地管理和处理海量数据成为了企业面临的核心挑战。为此&#xff0c;拓数派推出了首款数据计算引擎 PieCloudDB Database&#xff0c;作为一款全新的云原生虚拟数仓&#xff0c;旨在提供更高效、更灵活的数据处理解决方案。 PieCloudDB 的设计理…

Linux入门攻坚——4、shell编程初步、grep及正则表达式

bash的基础特性&#xff08;续&#xff09;&#xff1a; 1、提供了编程环境&#xff1a; 编程风格&#xff1a;过程式&#xff1a;以指令为中心&#xff0c;数据服务于执行&#xff1b;对象式&#xff1a;以数据为中心&#xff0c;指令服务于数据 shell编程&#xff0c;编译执…

智能井盖传感器详细使用效果是什么?

随着每一个城市基础设施在不断完善&#xff0c;城市建设过程之中&#xff0c;井盖的数量也在处于不断增加阶段&#xff0c;在大街小巷之中随处可见形式各类&#xff0c;大小不一的井盖。看似结实牢固的井盖&#xff0c;但是可能由于时间问题&#xff0c;导致年久失修&#xff0…

Spring Boot集成SpringFox 3.0与Pageable参数处理

Springfox 3.0有多个模块&#xff0c;提供了spring boot starter&#xff0c;与Spring Boot集成时仅需引入springfox-boot-starter&#xff0c;如下&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter<…

经典卷积神经网络 - LeNet

该模型用于手写的数字识别。 LeNet模型包含了多个卷积层和池化层&#xff0c;以及最后的全连接层用于分类。其中&#xff0c;每个卷积层都包含了一个卷积操作和一个非线性激活函数&#xff0c;用于提取输入图像的特征。池化层则用于缩小特征图的尺寸&#xff0c;减少模型参数和…

免费领取!TikTok Shop “全托管”黑五大促官方备战指南来啦!

黑五网一大促即将来袭&#xff0c;自“全托管”模式上线以来&#xff0c;TikTok for Business在沙特阿拉伯和英国市场开展了古尔邦节大促、夏季大促、返校季大促等活动&#xff0c;今年更是会借着黑五网一大促之际&#xff0c;首次覆盖美国市场&#xff0c;为全托管商家带来全球…