第五章、推理类提示词工程应用
这个下一个视频是关于推断的。 我喜欢将这些任务看作是模型将文本作为输入,并进行某种分析的任务。 因此,这可以是提取标签、提取名称、了解文本的情感等。
如果您想从一段文本中提取情感,无论是积极的还是消极的,在传统的机器学习工作流程中,您需要收集标签数据集、训练模型、弄清楚如何在云中部署模型并进行推理。 这样可能很好用,但需要经历很多的工作。 而且对于每个任务,比如情感分析、提取姓名等等,您都需要训练和部署一个单独的模型。 大型语言模型的一个真正好处是,对于许多这样的任务,您只需要编写提示,就可以立即开始生成结果。 这样可以大大提高应用程序开发的速度。 而且,您还可以只使用一个模型和一个API来执行许多不同的任务,而不需要弄清楚如何训练和部署许多不同的模型。 因此,让我们进入代码,看看您如何利用这一点。 这是一个常规的启动器代码。
我只是要运行一下。 我会用一款灯的评论做一个最重要的例子。 所以需要一个漂亮的卧室灯,这个灯额外有储存空间,等等。 所以让我写一个提示来分类这个情感。 如果我想让系统告诉我,你知道这个评论的情感是什么,我只需写下以下产品评论的情感是什么,加上常规的分隔符和评论文本等等。 然后我们运行一下。 这表示产品评论的情感是积极的,这实际上似乎相当正确。 这个灯不完美,但这个客户似乎很开心。 这似乎是一个关心客户和产品的伟大公司。 我认为积极的情感似乎是正确的答案。 现在这打印出整个句子,产品评论的情感是积极的。
如果您希望给出更为简洁的回复以便于后期处理,我可以使用另一种指令来让您以单词的形式给出肯定或否定的答案。 这样可以更加便于处理这个输出并对其进行后续处理。 再看看另一个提示,仍然使用台灯评论作为例子。 我让它识别出以下评论的作者表达的一系列情感,包括此清单中不超过五个条目。 因此,大型语言模型非常擅长从一段文本中提取出特定的信息。 在这种情况下,我们正在表达情感。 这对理解您的客户如何看待特定产品可能会有所帮助。 对于许多客户支持组织来说,重要的是要了解特定用户是否极度不满。 因此,您可能需要解决不同的分类问题。
以下評論的作者是否表達了憤怒?因為如果真有人生氣,可能需要特別注意客戶評論,聯繫客戶支持或客戶成功,找出原因並為客戶解決問題。 在這種情況下,客戶並不生氣。 另外請注意,如果我想要建立所有這些分類器,使用監督式學習,就無法像您在此視頻中看到的那樣在幾分鐘內完成。 我鼓勵您暫停此視頻,嘗試更改一些提示。 也許詢問客戶是否表達了喜悅,或者詢問是否有任何缺少的部分,看看您是否可以得到提示,讓這盞燈的評論有不同的推論。 讓我展示一些更多使用這個系統所能做的事情,尤其是從客戶評論中提取更豐富的信息。
因此,信息提取是自然语言处理(NLP)中与从文本中提取你想要的某些东西有关的部分。 因此,在这个提示中,我要求对以下物品进行识别:物品购买和制造物品的公司名称。 同样,如果你试图总结在线购物电子商务网站上的许多评论,那么对于你的大量评论集,弄清楚物品是什么,谁制造的物品,弄清楚积极和消极的情绪,以跟踪特定物品或特定制造商积极或消极情绪的趋势可能是有用的。 在这个示例中,我将要求以JSON对象的格式格式化你的响应,其中的键是物品和品牌。 因此,如果我这样做,它会说物品是一盏台灯,品牌是Luminar,你可以轻松地将其加载到Python字典中,然后对这个输出进行额外的处理。
在我们看过的例子中,你看到了如何编写提示来识别情感,找出某人是否生气,然后提取项目和品牌。 一种提取所有这些信息的方法是使用3或4个提示并调用getCompletion,然后提取这些不同的字段一次,但事实证明,实际上您可以编写一个单独的提示同时提取所有这些信息。
所以假设,识别细节,提取情感,嗯,作为评论者,表达愤怒,购买商品,完全做到了,嗯,然后在这里,我还告诉它将愤怒值格式化为布尔值,让我来跑一下,然后它输出一个 JSON,其中情感是积极的,愤怒,没有引用标记,因为它要求输出布尔值,嗯,它提取出来的物品是具有额外存储的灯,而不是普通的灯,看起来还不错,这样,你就可以仅用一个提示从一段文本中提取多个字段。 像往常一样,请随时暂停视频并尝试使用不同的变体,或者尝试输入完全不同的评论,看看你是否能够准确地提取这些内容。 现在,我看到大型语言模型的一个酷炫应用是推断主题。 给定一段长文本,你知道,这段文本是关于什么的?有哪些主题? 这是一篇虚构的报纸文章,关于政府工作人员对他们所工作的机构的感受。 最近政府进行了一项调查,你知道的,等等,结果在NASA进行了评估,NASA是一个满意度较高的部门。 我是NASA的粉丝,我喜欢他们所做的工作,但这是一篇虚构的文章。 因此,针对这样的文章,我们可以问它,使用这个提示,确定以下文本中正在讨论的五个主题。 让我们将每个项目格式化为一个或两个单词,并用逗号分隔,如果我们运行它,我们就可以得到这篇文章是关于政府调查的,关于工作满意度,关于NASA等等。 所以,总的来说,我认为提取内容列表非常好,当然,您也可以将其拆分为五个主题的列表,本文是关于这五个主题的。
如果您有一系列文章和提取主题的工具,那么您也可以使用大型语言模型来帮助您索引到不同的主题。 因此,让我使用一个略微不同的主题列表。 假设我们是一个新闻网站或其他类似的网站,那么这些是我们追踪的主题:NASA、地方政府、工程、员工满意度、联邦政府。 假设您想弄清楚,在给定的新闻文章中,这些主题中的哪些被包含了。 所以,这是一个提示,我会说,确定以下主题列表中的每个项目是否是以下文本中的主题。 使用每个主题的0或1的列表来回答。 非常好。 这与之前的故事文本相同。 所以,这是一个故事。 它是关于NASA的。 它与地方政府、工程无关。 它与员工满意度有关,它与联邦政府有关。
因此,在机器学习中,这有时被称为零样本学习算法,因为我们没有给它任何已标记的训练数据。 这就是零样本。 仅通过提示,它就能确定那篇新闻文章涉及哪些主题。 因此,如果您想生成新闻提醒,说,处理新闻,而且我真的很喜欢NASA所做的大量工作。 如果您想构建一个系统,可以将这些信息放入字典中,并在NASA新闻出现时打印提醒,新NASA故事,则可以使用它非常快速地获取任何文章,找出它所关注的主题,如果主题包括NASA,则将其打印出来,新NASA故事提醒。 只有一件事,我使用这里的主题字典。 我在此处使用的提示不是非常健壮。
如果我去生产系统,我可能会让它以JSON格式而不是列表输出答案,因为大型语言模型的输出可能有点不一致。 所以,这实际上是一段非常脆弱的代码。 但如果你想,在观看完这个视频后,可以尝试修改这个提示,让它输出JSON而不是像这样的列表,然后有一个更健壮的方法来判断更大的文章是否是关于NASA的故事。 所以,推断就这样结束了,在短短几分钟内,您可以构建多个文本推断系统,以前需要一位熟练的机器学习开发人员数天甚至数周才能完成。 因此,我认为这非常令人兴奋,无论是对熟练的机器学习开发人员还是对新手来说,您现在都可以使用提示来快速构建和开始在类似这样的相当复杂的自然语言处理任务上进行推断的任务。
在下一段视频中,我们将继续谈论关于大语言模型你可以做的令人兴奋的事情,并且我们将开始进行转换。 你如何将一段文本转换成不同的文本,例如将其翻译成不同的语言?让我们继续看下一个视频。