思想领袖
未来应用将如何由大型语言模型(LLM)驱动

生成式 AI,特别是语言风格的 AI,如 ChatGPT 无处不在。大型语言模型(LLM)技术将在未来应用的开发中发挥重要作用。LLM 非常擅长理解语言,因为它们已经在大量公共领域文本(包括代码)上进行了广泛的预训练。像监督微调和强化学习等方法可以使这些 LLM 更加高效地回答特定问题和与用户交谈。当我们进入下一个由 LLM 驱动的 AI 应用阶段时,以下关键组件将至关重要。下图显示了这一进展,并且随着我们向上移动,我们在应用中构建了更多的智能和自主性。让我们来看看这些不同的层次。

LLM 调用:
这些是直接调用完成或聊天模型的 LLM 调用,例如 Azure OpenAI 或 Google PaLM 或 Amazon Bedrock。这些调用具有非常基本的提示,并且主要使用 LLM 的内部内存来生成输出。
示例:要求一个基本模型,如“text-davinci”,“讲一个笑话”。您提供很少的上下文,模型依赖于其内部预训练内存来生成答案(在下图中用绿色突出显示 – 使用 Azure OpenAI)。

提示:
下一个智能层次是添加更多上下文到提示中。有用于 LLM 的提示工程技术,可以应用于 LLM 以使其生成自定义响应。例如,当生成电子邮件发送给用户时,用户的上下文信息、过去的购买和行为模式可以作为提示来更好地定制电子邮件。熟悉 ChatGPT 的用户将知道不同的提示方法,例如提供示例,这些示例将被 LLM 用来构建响应。提示通过添加额外的上下文来增强 LLM 的内部内存。下面是一个示例。

嵌入:
嵌入通过在知识存储中搜索上下文并获取该上下文并将其追加到提示中,将提示提升到下一个层次。这里,第一步是创建一个带有未结构化文本的大文档存储,并通过索引文本和填充向量数据库使其可搜索。为此,使用了 OpenAI 的“ada”嵌入模型,该模型接受一块文本并将其转换为 n 维向量。这些嵌入捕获了文本的上下文,因此在向量空间中具有相似的句子将具有接近的嵌入。当用户输入查询时,该查询也被转换为嵌入,并将该向量与数据库中的向量进行匹配。因此,我们为查询获取到前 5 或 10 个匹配的文本块,这些块构成了上下文。查询和上下文被传递给 LLM,以类似人类的方式回答问题。
链:
今天,链是最先进和成熟的技术,广泛用于构建 LLM 应用。链是确定性的,其中一系列 LLM 调用通过输出连接在一起,一个 LLM 的输出流入一个或多个 LLM。例如,我们可以有一个 LLM 调用查询 SQL 数据库并获取客户电子邮件列表,然后将该列表发送到另一个 LLM 以生成个性化电子邮件发送给客户。这些 LLM 链可以集成到现有的应用流中以生成更有价值的结果。使用链,我们可以用外部输入(如 API 调用和知识图集成)来增强 LLM 调用以提供上下文。此外,今天有多个 LLM 提供商(如 OpenAI、AWS Bedrock、Google PaLM、MosaicML 等)可用,我们可以将 LLM 调用混合并匹配到链中。对于智能有限的链元素,可以使用较低的 LLM(如“gpt3.5-turbo”),而对于更高级的任务,可以使用“gpt4”。链为数据、应用和 LLM 调用提供了抽象。
代理:
代理是许多在线辩论的主题,特别是在人工通用智能(AGI)方面。代理使用高级 LLM(如“gpt4”或“PaLM2”)来规划任务,而不是具有预定义的链。因此,当有用户请求时,基于查询,代理决定调用哪些任务或动态构建哪些链。例如,当我们配置代理使用命令“当贷款年利率由于政府法规更新而变化时通知客户”时,代理框架会使一个 LLM 调用来决定采取的步骤或构建的链。在这里,它将涉及调用一个应用来抓取监管网站并提取最新的年利率,然后一个 LLM 调用搜索数据库并提取受影响的客户电子邮件,最后生成一封电子邮件来通知所有人。
最后的想法
LLM 是一种快速演变的技术,每周都会推出更好的模型和应用。从 LLM 到代理是智能阶梯,随着我们向上移动,我们构建了更复杂的自治应用。更好的模型将意味着更有效的代理,下一代应用将由这些模型驱动。时间会告诉我们下一代应用将有多先进以及它们将由什么模式驱动。












