Prompt的基本使用
在本指南中,我们将提供更多有关如何使用提示的示例,并介绍对更高级的指南很重要的关键概念。
通常,学习概念的最佳方法是运行示例。以下是如何使用快速工程来实现所有类型的有趣和不同任务的几个示例。
文本摘要
自然语言生成的标准任务之一是文本摘要。文本摘要可以包括许多不同的风格和域。事实上,语言模型最有前途的应用之一是能够将文章和概念总结成快速且易于阅读的摘要。让我们尝试使用提示的基本摘要任务。
假设我有兴趣了解抗生素,我可以尝试这样的提示:
讲解抗生素 A:
输出
抗生素是一种用于治疗细菌感染的药物。 它们通过杀死细菌或阻止细菌繁殖来发挥作用,从而使人体的免疫系统能够抵抗感染。 抗生素通常以药丸、胶囊或液体溶液的形式口服,或有时静脉内给药。 它们对病毒感染无效,使用不当会导致抗生素耐药性。
“A:”是用于问答的显式提示格式。我在这里使用它来告诉模型有一个预期的进一步。在这个例子中,不清楚这有什么用与不使用它,但我们将在后面的例子中保留它。让我们假设这是太多的信息,并希望进一步总结它。实际上,我们可以指示模型总结成这样一句话:
抗生素是一种用于治疗细菌感染的药物。 它们通过杀死细菌或阻止细菌繁殖来发挥作用,从而使人体的免疫系统能够抵抗感染。 抗生素通常以药丸、胶囊或液体溶液的形式口服,或有时静脉内给药。 它们对病毒感染无效,使用不当会导致抗生素耐药性。 用一句话解释以上内容:
输出
抗生素是用于通过杀死细菌或阻止细菌繁殖来治疗细菌感染的药物,但它们对病毒无效,过度使用会导致抗生素耐药性。
在没有过多关注上述输出的准确性的情况下,我们将在后面的指南中涉及这一点,该模型试图用一句话总结该段落。您可以巧妙地使用说明,但我们将将其留到后面的章节中。随意在这里暂停一个实验,看看你是否得到更好的结果。
信息提取
虽然语言模型经过训练以执行自然语言生成和相关任务,但它也非常能够执行分类和一系列其他自然语言处理 (NLP) 任务。
下面是从给定段落中提取信息的提示示例。
研究论文中的作者贡献声明和致谢应清楚具体地说明作者是否以及在何种程度上使用了 ChatGPT 等人工智能技术来准备他们的手稿和分析。 他们还应该指出使用了哪些 LLM。 这将提醒编辑和审稿人更仔细地审查手稿,以发现潜在的偏见、不准确和不正确的来源来源。 同样,科学期刊应该对 LLM 的使用保持透明,例如在选择提交的手稿时。 提及上一段中提到的基于大型语言模型的产品:
输出
上一段提到的基于大型语言模型的产品是ChatGPT。
我们有很多方法可以改进上述结果,但这已经非常有用。
到目前为止,很明显,您可以通过简单地指示模型执行不同的任务来要求它执行不同的任务。这是人工智能产品构建者已经用来构建强大产品和体验的强大功能。
问答
让模型响应特定答案的最佳方法之一是改进提示的格式。如前所述,提示可以组合指令、上下文、输入和输出指示器以获得改进的结果。虽然不需要组件,但它作为一种很好的做法,因为您对说明越具体,您将获得的结果就越好。下面是一个示例,说明在更结构化的提示下的外观。
根据以下上下文回答问题。 保持答案简短明了。 如果不确定答案,请回复"Unsure about answer"。 背景:Teplizumab 的根源可以追溯到一家名为 Ortho Pharmaceutical 的新泽西制药公司。 在那里,科学家们生成了早期版本的抗体,称为 OKT3。 该分子最初来自小鼠,能够与 T 细胞表面结合并限制其杀伤细胞的潜力。 1986 年,它被批准用于帮助预防肾移植后的器官排斥反应,使其成为第一个获准用于人类的治疗性抗体。 问:OKT3最初来源于什么? 回答:
输出
老鼠
文本分类
到目前为止,我们已经使用了简单的指令来执行任务。作为一名及时的工程师,您需要更好地提供更好的说明。但这还不是全部!您还会发现,对于更难的用例,仅提供说明是不够的。这是您需要更多地考虑上下文以及可以在提示中使用的不同元素的地方。您可以提供的其他元素包括 或 。input data
examples
让我们尝试通过提供文本分类的示例来演示这一点。
将文本分类为中性、负面或正面。 文本:我认为食物还可以。 情绪:
输出
中性的
我们给出了对文本进行分类的指令,模型响应了正确的方向。这没有错,但假设我们真正需要的是模型以我们想要的确切格式给出标签。所以而不是我们希望它返回.我们如何实现这一目标。有不同的方法可以做到这一点。我们在这里关心特异性,因此我们可以提供的提示信息越多,结果就越好。我们可以尝试提供示例来具体说明正确的行为。让我们再试一次:’中性
‘中性
中性
将文本分类为中性、负面或正面。 文字:我觉得假期还可以。 情绪:中性 文本:我认为食物还可以。 情绪:
输出
中性的
完善!这次模型返回了我正在寻找的特定标签。提示中提供的示例似乎有助于模型在其输出中具体化。要强调为什么有时具体很重要,请查看此示例并找出问题:中性
将文本分类为中性、负面或正面。 文字:我觉得假期还可以。 情绪:
输出
中性
这里有什么问题?
角色扮演
也许通过快速工程可以实现的更有趣的事情之一是告诉系统如何行为、其意图和身份。这在构建会话系统时特别有用。
例如,让我们创建一个对话系统,能够对问题给出更多的技术和科学答案。
以下是与一位AI研究助理的对话。 助理语气是技术性的、科学性的。 人类:你好,你是谁? 艾:您好! 我是一名人工智能研究助理。 今天我能帮到你什么? 人类:你能告诉我黑洞的产生吗? 人工智能:
输出
当然! 黑洞是引力强大到任何东西,甚至光,都无法逃脱的时空区域。 它们是在一颗非常大的恒星死亡时产生的,它的核心自身坍缩,形成一个密度无限大的奇点。 奇点的强大引力吸引了它周围的所有物质和辐射,形成了黑洞。
我们的人工智能研究助理听起来有点太技术性了,对吧?好的,让我们改变这种行为,并指示系统给出更易于访问的答案。
以下是与一位AI研究助理的对话。 辅助答案应该是连小学生都能看懂的。 人类:你好,你是谁? 艾:您好! 我是一名人工智能研究助理。 今天我能帮到你什么? 人类:你能告诉我黑洞的产生吗? 人工智能:
输出
当然! 当一颗非常大的恒星耗尽燃料并自行坍缩时,就会产生黑洞。 恒星的引力如此之大,以至于任何东西,甚至光,都无法逃脱它的引力。 这在时空中创造了一个具有强烈引力的点,称为黑洞。
我认为我们取得了一些进展。您可以继续改进它。我相信如果你添加更多的例子,你可能会得到更好的结果。
代码生成
LLM非常有效的一个应用程序是代码生成。Copilot就是一个很好的例子。您可以使用巧妙的提示执行大量代码生成任务。让我们看下面的几个例子。
首先,让我们尝试一个简单的程序来迎接用户。
/* 询问用户的姓名并说"你好" */
输出
let name = prompt("你叫什么名字?"); console.log(`你好,${name}!`);
您可以看到,我们甚至不需要指定要使用的语言。
让我们稍微切换一下级别。我想向您展示LLM在设计提示方面付出更多的努力是多么强大。
""" 部门表,列 = [DepartmentId, DepartmentName] 学生表,列 = [DepartmentId, StudentId, StudentName] 为计算机科学系的所有学生创建一个 MySQL 查询 """
输出
SELECT StudentId, StudentName FROM students WHERE DepartmentId IN (SELECT DepartmentId FROM departments WHERE DepartmentName = 'Computer Science');
这非常令人印象深刻。在本例中,我们提供了有关数据库模式的数据,并要求它生成有效的MySQL查询。
推理
也许今天法学硕士最困难的任务之一是需要某种形式的推理。推理是我最兴奋的领域之一,因为LLM可以出现复杂的应用程序类型。
在涉及数学能力的任务方面有一些改进。也就是说,重要的是要注意当前的LLM难以执行推理任务,因此这需要更先进的快速工程技术。我们将在下一本指南中介绍这些高级技术。现在,我们将介绍一些基本示例来展示算术能力。
9,000 * 9,000 是多少?
输出
81,000,000
让我们尝试一些更困难的事情。
这组中的奇数加起来是偶数:15、32、5、13、82、7、1。 A:
输出
不,这组中的奇数加起来是奇数:119。
这是不正确的!让我们尝试通过改进提示来改善这一点。
这组中的奇数加起来是偶数:15、32、5、13、82、7、1。 通过将问题分解成步骤来解决。 首先,找出奇数,将它们相加,并指出结果是奇数还是偶数。
输出
奇数:15、5、13、7、1 合计41 41是奇数。
好多了,对吧?顺便说一句,我尝试了几次,系统有时会失败。如果您结合示例提供更好的说明,则可能有助于获得更准确的结果。
在即将发布的指南中,我们将介绍更高级的快速工程概念,以提高所有这些和更困难的任务的性能。
评论 (0)