基于现实世界用例和架构的 9 个 RAG 示例

探索九个真实的 RAG 示例(从网络搜索和客户支持到智能体商务和数据分析)及其背后的架构。

Diagram of how RAG works: a user prompt goes through a grounding check, a retrieval request to an external source, context augmentation, and LLM answer generation.

RAG 广泛应用于消费者和企业场景。RAG 在现实生活中的日常示例包括网络搜索、客户支持和 AI 赋能的购物。内部知识访问和编码辅助则是其中最突出的商业应用示例。

RAG 架构也会因用例而异。最常见的两种实现是混合 RAG(结合了传统关键词匹配与向量或知识图谱搜索)和智能体 RAG(由大语言模型(LLM)指导检索过程)。

什么是检索增强生成 (RAG)?

RAG(即检索增强生成)允许 AI 应用程序访问存储在外部系统中的信息,以补充 LLM 生成的答案。

这是一项强大的技术,因为它解决了生成式 AI 的三大主要问题:幻觉、信息过时以及无法访问输入上下文中未包含的数据。

以下是基本的 RAG 流程:

  1. 用户使用自然语言输入提示词。
  2. AI 应用程序确定是否需要进行扎根检查,有时会涉及 LLM 的参与。
  3. 向外部信息源(如数据库)发送请求。
  4. 将检索到的信息添加到 LLM 的输入上下文中。
  5. LLM 根据增强后的提示词生成答案。

尽管具体实现可能有所不同,但这些步骤代表了一个典型的 RAG 工作流。各种架构之间的差异往往集中在客户端应用程序处理请求的方式以及所检索信息的性质上。

RAG 架构概述

“检索增强生成”一词首次出现在 2020 年的一篇名为 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 的论文中,该论文由 Meta AI(当时称为 Facebook AI Research)的研究人员以及伦敦大学学院和纽约大学的合作者共同发表。

早期被松散地称为“朴素 RAG”的先检索后生成方法,此后已发展成为各种不同类型的架构,其中许多架构相互重叠。

朴素 RAG

朴素 RAG 使用简单的检索和生成管道,这对于许多基本请求仍然适用。朴素 RAG 最常见的例子是将查询转换为称为向量嵌入(或简称为向量)的有序数字列表。然后,将查询向量与代表数据库或索引中内容块(称为语义索引)的其他向量进行匹配。

高级 RAG

高级 RAG 优化了检索前后的各个阶段。技术包括查询扩展、元数据过滤和上下文压缩。这些实质上提高了检索信息的关联性,并改善了其在添加到 LLM 输入上下文之前的修改方式。

智能体 RAG

智能体 RAG 是由基于 LLM 的智能体执行 RAG 管道。“智能体”会针对给定的提示词决定哪些工具最合适,并指导检索(有时在循环中),以生成相关的答案。

图 RAG

图 RAG 从知识图中检索信息,知识图表示实体(如对象、概念和事件)及其之间的关系。当对提示词的回答需要 LLM 组合关于不同实体的的信息时,这非常有用。

多模态 RAG

多模态 RAG 在查询和检索期间将检索扩展到图像和音频等内容。这些 RAG 管道使用特殊的编码器将文本、图像或音频转换为嵌入。

混合 RAG

混合 RAG 将关键词搜索(或词汇检索)与向量检索或知识图谱相结合,并合并结果。这很有用,因为关键词匹配在某些上下文中可以具有极高的准确性(比其他方法更高)。

纠错 RAG

纠错 RAG 评估返回的信息或数据与查询的相关性。它可能会精炼或补充检索到的段落,或者通过执行另一个请求将其完全替换。

按用例和行业应用划分的 RAG 示例

在消费领域和商业领域中,都有大量的 RAG 示例。这在很大程度上是因为 RAG 管道已集成到大多数主流工具中。此外,许多供应商提供开箱即用的集成(例如用于客户服务聊天机器人),这促进了其采用。

1. 网络搜索

网络搜索是 RAG 最普遍的例子之一。每天,数百万人使用 AI 工具来生成基于从网络检索的信息的回答。

工作原理:AI 应用程序使用基于关键词和语义的检索来搜索网络索引(例如 Google 搜索索引)。相关的页面内容与用户的问题一起包含在 LLM 的输入中。然后,LLM 生成答案,通常带有源引用。

现实世界的例子:如果用户在 Perplexity 的聊天界面中输入一个简单的查询,例如“芝加哥的天气怎么样?”,LLM 将进行网络搜索以查找最新信息。Perplexity 将专有网络索引与合作方搜索 API 结合使用。

2. 客户支持

应用内和网站聊天机器人已成为 RAG 的一个主要企业用例。这些系统通常与传统的路由路径相结合,从而减少了对人工客服介入的需求。

工作原理:当客户提出问题时,应用程序会搜索公司的知识库,通常使用混合管道。检索到的段落会提供给 LLM,后者会生成答案。通常还涉及纠错和交接流程,以验证答案并在必要时将其转接给客服。

现实世界的例子:各种客户服务平台(包括 Zendesk(如图所示)和 Intercom)提供现成的客户支持聊天机器人,可与现有文档和客户支持库集成。

3. 个人助手

个人助手使用智能体 RAG 来访问用户的电子邮件、文件和日历。这些助手通常可以执行多个 RAG 管道。

工作原理:由于个人助手通常需要访问多个信息源,因此它们会结合使用 API、关键词搜索、向量搜索和知识图谱。应用程序将不同的工具描述发送给 LLM,然后由 LLM 选择最合适的工具。

现实世界的例子:Google Gemini 是一个能够充当通用和个人 AI 助手的应用的良好示例(目前大多数助手都是这种情况)。它与工具生态系统(例如 Gmail、Docs、Photos 和 Calendar)集成。

4. 企业知识管理

企业知识管理让员工能够跨越广泛的公司信息(包括政策、报告、项目文档、法律文本甚至内部讨论)提出问题。

工作原理:应用程序使用随着源文档更改而更新的向量索引来检索相关内容。该索引包含表示文档块的嵌入,并带有指向其文本和相关元数据的链接。

现实世界的例子:Microsoft 365 Copilot通过 Microsoft Graph(公开了各种数据源的 API)访问组织信息,并使用词汇和语义索引来检索相关内容。

5. 编码助手

编码助手将 RAG 应用于代码库。虽然底层的 RAG 流程是相同的(通常是智能体 RAG),但不同之处在于它们专门处理代码上下文。

工作原理:编码助手会对本地项目文件进行索引,并在收到提示时执行多次搜索传递以找到相关的代码片段。这些助手通常还具有用于扩展访问权限的专用连接器,例如连接到企业知识库。

现实世界的例子:GitHub Copilot 是一个著名的编码助手示例,它直接与开发项目集成。它还可以引用公共 GitHub 仓库来提高回答的准确性。

6. 技术故障排除

技术故障排除将知识管理 RAG 管道与诊断循环结合在一起。智能体可以评估结果,以便根据需要进一步优化故障排除建议。

工作原理:应用程序从用户那里收集技术问题的症状或接收自动监控警报。它会触发对错误消息、技术日志和性能指标的搜索,以交叉检查症状。然后,它从内部知识库检索相关信息以传递给 LLM。当尝试修复的结果(来自用户或诊断工具)反馈给 LLM 时,就会发生诊断循环。

现实世界的例子:可观测性平台 Datadog(如图所示)收集系统各个层的数据,并在出现任何问题时进行标记。然后,这些数据会被输入到一个名为 Bits AI 的专用 AI 智能体中,以排查潜在的修复方案。

7. 智能体商务

智能体商务是一个更广泛的用例,通常涉及 RAG。购物智能体会检索产品规格、评论、价格和可用性等详细信息,以比较选项并解释推荐。然后,它可以在不让用户离开界面的情况下自动进行购买。

工作原理:智能体商务是真正的智能体 RAG,因为特定的查询通常需要不同形式的检索,并由模型进行指导。智能体可以通过零售商的 API 检索纯文本产品数据,或者它可以使用多模态 RAG 根据用户照片在语义索引中匹配产品。

现实世界的例子:像 Perplexity 这样的通用智能体可以根据提示检索多个图像和详细的产品规格。“立即购买”结账功能可让用户在挑选产品后完成购买。

8. 专门的知识领域

检索专门领域知识的 AI 工具必须处理复杂的内容格式。此外,最大限度地减少幻觉和信息缺口通常是当务之急。

工作原理:通用 RAG 架构与专门 RAG 架构之间的关键区别在于源材料和检索配置。通常,只会查询高度权威的索引,并且会将请求配置为包含特定的术语以缩小搜索范围。

现实世界的例子:学术研究工具 Scite 访问通过出版商协议和开放获取来源构建的大型学术论文和引文数据索引。它还在生成完整答案之前应用检索后检查,例如来源验证。

9. 数据分析

用于数据分析的 RAG 已成为一个特别强大的企业用例,因为它允许广泛的专业人员(尤其是没有接受过数据科学培训的人员)使用自然语言查询数据集。这使得生成报告和提出高度具体的问题变得更加容易。

工作原理:对于像“为什么上一季度的销售额下降了?”这样的问题,应用程序可能会查询销售记录并检索有关库存短缺或价格变动的说明。LLM 在生成分析之前,会为检索到的数据选择适当的计算(通常委派给计算工具)。

现实世界的例子:Google Analytics 提供了一个 AI“Ask Advisor”聊天机器人,可以访问网络分析数据并回答来自用户的高度具体、细致的问题。它是企业级、封闭系统 RAG 的最佳现实世界示例之一。

RAG 的演进将走向何方?

RAG 在最初引入时是一项重大进展。它有助于解决独立 LLM 固有的许多问题。

然而,它远非静态技术。当前的研究重点是更深层次的多模态检索以及对检索到的上下文进行更严格的处理以确保准确性和正确性。此外,我们很可能会看到 RAG 与多工具智能体实现更深入的集成。

即使拥有极大的上下文窗口,RAG 在个人和专业场景中依然有着重要的用例,并且未来还将涌现许多创新。