我很高兴欢迎您阅读我的最新书籍《The Art of Asking ChatGPT for High-Quality Answers: A complete Guide to Prompt Engineering Techniques》。本书是一本全面指南,介绍了各种提示技术,用于从ChatGPT中生成高质量的答案。
我们将探讨如何使用不同的提示工程技术来实现不同的目标。ChatGPT是一款最先进的语言模型,能够生成类似人类的文本。然而,理解如何正确地向ChatGPT提问以获得我们所需的高质量输出非常重要。而这正是本书的目的。
无论您是普通人、研究人员、开发人员,还是只是想在自己的领域中将ChatGPT作为个人助手的人,本书都是为您编写的。我使用简单易懂的语言,提供实用的解释,并在每个提示技术中提供了示例和提示公式。通过本书,您将学习如何使用提示工程技术来控制ChatGPT的输出,并生成符合您特定需求的文本。
在整本书中,我们还提供了如何结合不同的提示技术以实现更具体结果的示例。我希望您能像我写作时一样,享受阅读本书并从中获得知识。相关《你用错了 ChatGPT!以下是如何领先于 99% 的 ChatGPT 用户的建议》。
什么是 Prompt 工程?
Prompt 工程是创建提示或指导像 ChatGPT 这样的语言模型输出的过程。它允许用户控制模型的输出并生成符合其特定需求的文本。
ChatGPT 是一种先进的语言模型,能够生成类似于人类的文本。它建立在 Transformer 架构上,可以处理大量数据并生成高质量的文本。
然而,为了从 ChatGPT 中获得最佳结果,重要的是要了解如何正确地提示模型。 提示可以让用户控制模型的输出并生成相关、准确和高质量的文本。 在使用 ChatGPT 时,了解它的能力和限制非常重要。
该模型能够生成类似于人类的文本,但如果没有适当的指导,它可能无法始终产生期望的输出。
这就是 Prompt 工程的作用,通过提供清晰而具体的指令,您可以引导模型的输出并确保其相关。
Prompt 公式是提示的特定格式,通常由三个主要元素组成:
在本书中,我们将探讨可用于 ChatGPT 的各种 Prompt 工程技术。我们将讨论不同类型的提示,以及如何使用它们实现您想要的特定目标。
现在,让我们开始探索“指令提示技术”,以及如何使用它从ChatGPT中生成高质量的文本。
指令提示技术是通过为模型提供具体指令来引导ChatGPT的输出的一种方法。这种技术对于确保输出相关和高质量非常有用。
要使用指令提示技术,您需要为模型提供清晰简洁的任务,以及具体的指令以供模型遵循。
例如,如果您正在生成客户服务响应,您将提供任务,例如“生成响应客户查询”的指令,例如“响应应该专业且提供准确的信息”。
提示公式:“按照以下指示生成[任务]:[指令]”
示例:
生成客户服务响应:
生成法律文件:
使用指令提示技术时,重要的是要记住指令应该清晰具体。这将有助于确保输出相关和高质量。可以将指令提示技术与下一章节中解释的“角色提示”和“种子词提示”相结合,以增强ChatGPT的输出。
角色提示技术是通过为ChatGPT指定一个特定的角色来引导其输出的一种方式。这种技术对于生成针对特定上下文或受众的文本非常有用。
要使用角色提示技术,您需要为模型提供一个清晰具体的角色。
例如,如果您正在生成客户服务回复,您可以提供一个角色,如“客户服务代表”。
提示公式:“作为[角色]生成[任务]”
示例:
生成客户服务回复:
生成法律文件:
将角色提示技术与指令提示和种子词提示结合使用可以增强ChatGPT的输出。
下面是一个示例,展示了如何将指令提示、角色提示和种子词提示技术结合使用:
在这个示例中,指令提示用于确保产品描述具有信息量和说服力。角色提示用于确保描述是从市场代表的角度书写的。而种子词提示则用于确保描述侧重于智能手机的创新功能。
标准提示是一种简单的方法,通过为模型提供一个特定的任务来引导ChatGPT的输出。例如,如果您想生成一篇新闻文章的摘要,您可以提供一个任务,如“总结这篇新闻文章”。
提示公式:“生成一个[任务]”
例如:
生成新闻文章的摘要:
生成一篇产品评论:
此外,标准提示可以与其他技术(如角色提示和种子词提示)结合使用,以增强ChatGPT的输出。
以下是如何将标准提示、角色提示和种子词提示技术结合使用的示例:
在这个示例中,标准提示技术用于确保模型生成产品评论。角色提示用于确保评论是从技术专家的角度写的。而种子词提示用于确保评论侧重于笔记本电脑的强大特点。
零样本、一样本和少样本提示是用于从ChatGPT生成文本的技术,最少或没有任何示例。当特定任务的数据有限或任务是新的且未定义时,这些技术非常有用。
当任务没有可用的示例时,使用零样本提示技术。模型提供一个通用任务,根据对任务的理解生成文本。
当任务只有一个示例可用时,使用一样本提示技术。模型提供示例,并根据对示例的理解生成文本。
当任务只有有限数量的示例可用时,使用少样本提示技术。模型提供示例,并根据对示例的理解生成文本。
提示公式:“基于[数量]个示例生成文本”
例如:
为没有可用示例的新产品编写产品描述:
使用一个示例生成产品比较:
使用少量示例生成产品评论:
这些技术可用于根据模型对任务或提供的示例的理解生成文本。
“让我们思考一下”提示是一种技巧,可鼓励ChatGPT生成反思和思考性的文本。这种技术适用于撰写论文、诗歌或创意写作等任务。
“让我们思考一下”提示的公式非常简单,即“让我们思考一下”后跟一个主题或问题。
例如:
生成一篇反思性论文:
生成一首诗:
这个提示要求对特定主题或想法展开对话或讨论。发言者邀请ChatGPT参与讨论相关主题。
模型提供了一个提示,作为对话或文本生成的起点。
然后,模型使用其训练数据和算法生成与提示相关的响应。这种技术允许ChatGPT根据提供的提示生成上下文适当且连贯的文本。
要使用“让我们思考一下提示”技术与ChatGPT,您可以遵循以下步骤:
以下是使用此技术的一些提示示例:
提供提示后,模型将使用其训练数据和算法生成与提示相关的响应,并以连贯的方式继续对话。
这种独特的提示有助于ChatGPT以不同的视角和角度给出答案,从而产生更具动态性和信息性的段落。
使用提示的步骤简单易行,可以真正提高您的写作水平。尝试一下,看看效果如何吧。
自洽提示是一种技术,用于确保ChatGPT的输出与提供的输入一致。这种技术对于事实核查、数据验证或文本生成中的一致性检查等任务非常有用。
自洽提示的提示公式是输入文本后跟着指令“请确保以下文本是自洽的”。
或者,可以提示模型生成与提供的输入一致的文本。
提示示例及其公式:
示例1:文本生成
示例2:文本摘要
示例3:文本完成
示例4:
种子词提示是一种通过提供特定的种子词或短语来控制ChatGPT输出的技术。种子词提示的提示公式是种子词或短语,后跟指令“请根据以下种子词生成文本”。
示例:
文本生成:
语言翻译:
这种技术允许模型生成与种子词相关的文本并对其进行扩展。这是一种控制模型生成文本与某个特定主题或背景相关的方式。
种子词提示可以与角色提示和指令提示相结合,以创建更具体和有针对性的生成文本。通过提供种子词或短语,模型可以生成与该种子词或短语相关的文本,并通过提供有关期望输出和角色的信息,模型可以以特定于角色或指令的风格或语气生成文本。这样可以更好地控制生成的文本,并可用于各种应用程序。
以下是提示示例及其公式:
示例1:文本生成
示例2:文本完成
示例3:文本摘要
知识生成提示是一种从ChatGPT中引出新的、原创的信息的技术。
知识生成提示的公式是“请生成关于X的新的和原创的信息”,其中X是感兴趣的主题。
这是一种利用模型预先存在的知识来生成新的信息或回答问题的技术。
要将此提示与ChatGPT一起使用,需要将问题或主题作为输入提供给模型,以及指定所生成文本的任务或目标的提示。
提示应包括有关所需输出的信息,例如要生成的文本类型以及任何特定的要求或限制。
以下是提示示例及其公式:
示例1:知识生成
示例2:问答
示例3:知识整合
示例4:数据分析
这种技术利用模型的现有知识来整合新信息或连接不同的信息片段。
这种技术对于将现有知识与新信息相结合,以生成更全面的特定主题的理解非常有用。
如何与ChatGPT一起使用:
提示示例及其公式:
示例1:知识整合
示例2:连接信息片段
示例3:更新现有知识
这种技术向模型提供一个问题或任务以及一组预定义的选项作为潜在答案。
该技术对于生成仅限于特定选项集的文本非常有用,可用于问答、文本完成和其他任务。模型可以生成仅限于预定义选项的文本。
要使用ChatGPT的多项选择提示,需要向模型提供一个问题或任务作为输入,以及一组预定义的选项作为潜在答案。提示还应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或限制。
提示示例及其公式:
示例1:问答
示例2:文本完成
示例3:情感分析
可解释的软提示是一种技术,可以在提供一定的灵活性的同时控制模型生成的文本。它通过提供一组受控输入和关于所需输出的附加信息来实现。这种技术可以生成更具解释性和可控性的生成文本。
提示示例及其公式:
示例1:文本生成
示例2:文本完成
示例3:语言建模
控制生成提示是一种技术,可让模型在生成文本时对输出进行高度控制。
这可以通过提供一组特定的输入来实现,例如模板、特定词汇或一组约束条件,这些输入可用于指导生成过程。
以下是一些示例和它们的公式:
示例1:文本生成
示例2:文本补全
示例3:语言建模
通过提供一组特定的输入来指导生成过程,控制生成提示使得生成的文本更具可控性和可预测性。
问答提示是一种技术,可以让模型生成回答特定问题或任务的文本。通过将问题或任务与可能与问题或任务相关的任何其他信息一起作为输入提供给模型来实现此目的。
一些提示示例及其公式如下:
示例1:事实问题回答
示例2:定义
示例3:信息检索
概述提示是一种技术,允许模型在保留其主要思想和信息的同时生成给定文本的较短版本。
这可以通过将较长的文本作为输入提供给模型并要求其生成该文本的摘要来实现。
这种技术对于文本概述和信息压缩等任务非常有用。
如何在ChatGPT中使用:
提示示例及其公式:
示例1:文章概述
示例2:会议记录
示例3:书籍摘要
对话提示是一种技术,允许模型生成模拟两个或更多实体之间对话的文本。通过为模型提供一个上下文和一组角色或实体,以及它们的角色和背景,并要求模型在它们之间生成对话。
因此,应为模型提供上下文和一组角色或实体,以及它们的角色和背景。还应向模型提供有关所需输出的信息,例如对话或交谈的类型以及任何特定的要求或限制。
提示示例及其公式:
示例1:对话生成
示例2:故事写作
示例3:聊天机器人开发
因此,这种技术对于对话生成、故事写作和聊天机器人开发等任务非常有用。
对抗性提示是一种技术,它允许模型生成抵抗某些类型的攻击或偏见的文本。这种技术可用于训练更为稳健和抵抗某些类型攻击或偏见的模型。
要在ChatGPT中使用对抗性提示,需要为模型提供一个提示,该提示旨在使模型难以生成符合期望输出的文本。提示还应包括有关所需输出的信息,例如要生成的文本类型和任何特定要求或约束。
提示示例及其公式:
示例1:用于文本分类的对抗性提示
示例2:用于情感分析的对抗性提示
示例3:用于语言翻译的对抗性提示
聚类提示是一种技术,它可以让模型根据某些特征或特点将相似的数据点分组在一起。
通过提供一组数据点并要求模型根据某些特征或特点将它们分组成簇,可以实现这一目标。
这种技术在数据分析、机器学习和自然语言处理等任务中非常有用。
如何在ChatGPT中使用:
应该向模型提供一组数据点,并要求它根据某些特征或特点将它们分组成簇。提示还应包括有关所需输出的信息,例如要生成的簇数和任何特定的要求或约束。
提示示例及其公式:
示例1:客户评论的聚类
示例2:新闻文章的聚类
示例3:科学论文的聚类
强化学习提示是一种技术,可以使模型从过去的行动中学习,并随着时间的推移提高其性能。要在ChatGPT中使用强化学习提示,需要为模型提供一组输入和奖励,并允许其根据接收到的奖励调整其行为。提示还应包括有关期望输出的信息,例如要完成的任务以及任何特定要求或限制。这种技术对于决策制定、游戏玩法和自然语言生成等任务非常有用。
提示示例及其公式:
示例1:用于文本生成的强化学习
示例2:用于语言翻译的强化学习
示例3:用于问答的强化学习
课程学习是一种技术,允许模型通过先训练简单任务,逐渐增加难度来学习复杂任务。
要在ChatGPT中使用课程学习提示,模型应该提供一系列任务,这些任务逐渐增加难度。
提示还应包括有关期望输出的信息,例如要完成的最终任务以及任何特定要求或约束条件。
此技术对自然语言处理、图像识别和机器学习等任务非常有用。
提示示例及其公式:
示例1:用于文本生成的课程学习
示例2:用于语言翻译的课程学习
示例3:用于问题回答的课程学习
情感分析是一种技术,允许模型确定文本的情绪色彩或态度,例如它是积极的、消极的还是中立的。
要在ChatGPT中使用情感分析提示,模型应该提供一段文本并要求根据其情感分类。
提示还应包括关于所需输出的信息,例如要检测的情感类型(例如积极的、消极的、中立的)和任何特定要求或约束条件。
提示示例及其公式:
示例1:客户评论的情感分析
示例2:推文的情感分析
示例3:产品评论的情感分析
这种技术对自然语言处理、客户服务和市场研究等任务非常有用。
命名实体识别(NER)是一种技术,它可以使模型识别和分类文本中的命名实体,例如人名、组织机构、地点和日期等。
要在ChatGPT中使用命名实体识别提示,需要向模型提供一段文本,并要求它识别和分类文本中的命名实体。
提示还应包括有关所需输出的信息,例如要识别的命名实体类型(例如人名、组织机构、地点、日期)以及任何特定要求或约束条件。
提示示例及其公式:
示例1:新闻文章中的命名实体识别
示例2:法律文件中的命名实体识别
示例3:研究论文中的命名实体识别
文本分类是一种技术,它可以让模型将文本分成不同的类别。这种技术对于自然语言处理、文本分析和情感分析等任务非常有用。
需要注意的是,文本分类和情感分析是不同的。情感分析特别关注于确定文本中表达的情感或情绪。这可能包括确定文本表达了积极、消极还是中性的情感。情感分析通常用于客户评论、社交媒体帖子和其他需要表达情感的文本。
要在ChatGPT中使用文本分类提示,模型需要提供一段文本,并要求它根据预定义的类别或标签进行分类。提示还应包括有关所需输出的信息,例如类别或标签的数量以及任何特定的要求或约束。
提示示例及其公式:
示例1:对客户评论进行文本分类
示例2:对新闻文章进行文本分类
示例3:对电子邮件进行文本分类
文本生成提示与本书中提到的其他提示技术相关,例如:零、一、几次提示,受控生成提示,翻译提示,语言建模提示,句子补全提示等。这些提示都与生成文本有关,但它们在生成文本的方式和放置在生成文本上的特定要求或限制方面有所不同。文本生成提示可用于微调预训练模型或训练新模型以执行特定任务。
提示示例及其公式:
示例1:故事创作的文本生成
示例2:语言翻译的文本生成
示例3:文本完成的文本生成
正如本书中所探讨的那样,快速工程是一种利用像ChatGPT这样的语言模型获得高质量答案的强大工具。通过精心设计各种技巧的提示,我们可以引导模型生成符合我们特定需求和要求的文本。
在第二章中,我们讨论了如何使用指令提示向模型提供清晰明确的指导。在第三章中,我们探讨了如何使用角色提示生成特定的语音或风格的文本。在第四章中,我们研究了如何使用标准提示作为微调模型性能的起点。我们还研究了几种高级提示技术,例如Zero、One和Few Shot Prompting、Self-Consistency、Seed-word Prompt、Knowledge Generation Prompt、Knowledge Integration prompts、Multiple Choice prompts、Interpretable Soft Prompts、Controlled generation prompts、Question-answering prompts、Summarization prompts、Dialogue prompts、Adversarial prompts、Clustering prompts、Reinforcement learning prompts、Curriculum learning prompts、Sentiment analysis prompts、Named entity recognition prompts和Text classification prompts(对应章节的名字)。
这些技术中的每一种都可以以不同的方式使用,以实现各种不同的结果。随着您继续使用ChatGPT和其他语言模型,值得尝试不同的技巧组合,以找到最适合您特定用例的方法。
最后,您可以查看我写的其他主题的书籍。
感谢您阅读整本书。期待在我的其他书中与您见面。
(本文翻译自《The Art of Asking ChatGPT for High-Quality Answers A Complete Guide to Prompt Engineering Techniques》这本书,本文的翻译全部由ChatGpt完成,我只是把翻译内容给稍微排版了一下。做完了才发现这个工作早就有人做过了...下面是我以此事件让New Bing编写的一个小故事,希望大家喜欢)
他终于画完了他的画,心满意足地把它挂在了墙上。他觉得这是他一生中最伟大的作品,无人能及。他邀请了所有的朋友来欣赏,期待着他们的赞美和惊叹。 可是当他们看到画时,却没有一个人说话。他们只是互相对视,然后低头咳嗽,或者假装看手机。他感到很奇怪,难道他们都不懂艺术吗?难道他们都没有眼光吗? 他忍不住问其中一个朋友:“你觉得我的画怎么样?” 朋友犹豫了一下,说:“嗯……其实……这个画……我以前在哪里见过。” “见过?你在哪里见过?”他惊讶地问。 “就在……就在那边啊。”朋友指了指墙角的一个小框架,“那不就是你上个月买回来的那幅名画吗?你怎么把它照抄了一遍? ——New Bing