第七章、拓展类提示词工程应用
扩充是一项任务,需要将一个简短的文本片段(例如一组说明或主题列表)转化为大型语言模型生成的更长的文本,如一封关于某个主题的电子邮件或论文。 这有一些很好的用途,例如当您将大型语言模型用作头脑风暴伙伴时。 但我也想承认,这也有一些问题使用案例,例如,如果某人使用它生成大量垃圾邮件。 因此,当您使用大型语言模型的这些能力时,请以负责任的方式使用它,并以有助于人们的方式使用它。 在这个视频中,我们将通过一个示例说明如何使用语言模型基于某些信息生成个性化的电子邮件。 这封电子邮件自称来自一个AI机器人,这是非常重要的,正如安德鲁所提到的那样。
我们还将使用另一个模型的输入参数,称为温度,这种方式允许您变化探索和模型响应种类中的多样性程度。 所以让我们开始吧。 在开始之前,我们将进行通常的设置。 设置OpenAI Python包,并定义我们的helper函数getCompletion,现在我们将撰写针对客户评论的自定义电子邮件响应,因此,根据客户评论和情感,我们将生成自定义响应。 然后,我们将使用语言模型基于客户评论和评论的情感来生成自定义电子邮件回复。 因此,我们已经使用inference视频中看到的提示提取了情感,这是关于搅拌机的客户评论,我们现在将根据情感自定义回复。
所以,这里的指示是,您是一位客服AI助手,您的任务是针对客户提供的电子邮件(用三个反引号隔开)发送回复,以感谢客户的评论。 如果情感是积极或中性的,请感谢他们的评论。 如果情感是消极的,请道歉并建议他们可以联系客户服务。 请确保使用评论中的具体细节,以简洁和专业的语调编写,并以“AI客户代理”签署电子邮件。 当您使用语言模型生成将向用户显示的文本时,非常重要要有这种透明度,并让用户知道他们所看到的文本是由AI生成的。 然后,我们只需输入客户评论和评论情感。 还要注意,这部分不一定重要,因为我们实际上可以使用这个提示来提取评论情感,然后在后续步骤中编写电子邮件。
仅为示例而言,我们已经从评论中提取了情感。 因此,我们向顾客回复。 它解答了顾客在评论中提到的细节,并建议他们联系客服,因为这只是一个AI客服代理。 接下来,我们会使用语言模型的一个参数叫做温度,它允许我们改变模型回应的多样性程度。 所以你可以把温度想象成模型探索或随机性的程度。 对于这个特定短语而言,“我的最爱食物是……”模型预测的最可能的下一个单词是披萨,其次可能是寿司和墨西哥卷饼。
因此,在零度的温度下,该模型将总是选择最有可能的下一个单词,例如在这种情况下,是比萨饼,而在较高的温度下,它也会选择一些不太可能的单词,甚至在更高的温度下,它可能会选择只有五个百分点的机会选择的玉米饼。 你可以想象,随着模型继续生成更多的单词,这个最终的回答,我的最爱食物是比萨饼,它会继续分散,与第一次反应,我的最爱食物是玉米饼不同。 因此,随着模型的持续,这两个反应将变得越来越不同。 总的来说,在构建需要可预测响应的应用程序时,我建议使用温度为零。 在所有这些视频中,我们一直使用温度为零,我认为如果你想构建一个可靠和可预测的系统,你应该选择这个。
如果你想以一种更具创意的方式使用模型,从而获得更广泛的不同输出结果,那么你可能需要使用更高的温度。 现在,让我们采用刚刚使用过的相同提示,尝试生成一封电子邮件,但这一次使用更高的温度。 在我们一直使用的getCompletion函数中,我们已经指定了一个模型和温度,但我们已经将它们设置为默认值。 现在让我们尝试改变温度。 所以,我们要使用提示,然后尝试温度为0. 7。 因此,在温度为0的情况下,每次执行相同的提示,您应该期望得到相同的完成结果。 而在温度为0. 7的情况下,您会每次得到不同的输出结果。 在这里,我们有我们可以看到的电子邮件,它与我们之前收到的电子邮件不同。 让我们再次执行它,以显示我们将再次得到不同的电子邮件。 在这里,我们有另一封不同的电子邮件。
因此,我建议你自己试着玩一下温度。 也许你现在可以暂停视频,尝试使用不同的温度来输入这个提示,以便看到输出的变化。 总体来说,高温下模型的输出有点更随机。 你可以认为,在高温度下,助手更容易分心,但也许更有创意。 在下一个视频中,我们将更多地讨论聊天完成终端格式,以及如何使用此格式创建自定义聊天机器人。