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

Alan Zeichick | 技术内容策略专家 | 2023 年 9 月 19 日

生成式人工智能 (AI) 擅长根据大型语言模型 (LLM) 创建文本响应,因为 AI 在 LLM 中接受了大量数据点的训练。好消息是,生成式 AI 所生成的文本通常易于阅读,并提供广泛适用于回答软件提出的问题,或通常称为提示。

坏消息是,生成响应仅可使用用于训练 AI 的信息,一般上指的是通用 LLM。LLM 的数据可能是几周、几个月或几年钱的旧数据,而公司的 AI 聊天机器人可能不包括有关组织产品或服务的特定信息。这会导致不准确的回答,影响客户和员工对技术的信心。

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

然而,这就是检索增强生成 (RAG) 擅长的领域。RAG 提供了一种优化 LLM 输出的方式,可在输出内容中包含目标信息,并且无需修改底层模型;目标信息会比 LLM 以及特定组织和行业提供更新的数据。这意味着生成式 AI 系统可以在提示中提供更符合情境的回答,并确保这些答案是基于当前数据而生成的。

2020 年,Patrick Lewis 和 Facebook AI Research 团队发表了《面向知识密集型 NLP 任务的检索增强生成》论文,RAG 因此获得了生成式 AI 开发人员的关注。RAG 概念已被许多学术和行业研究人员广泛接受,他们认为,RAG 是显着提高生成式 AI 系统价值的一种方式。

检索增强生成的阐释

以一场体育联赛为例,他们希望球迷和媒体能够使用在线聊天功能,访问数据并获取有关球员、球队、该体育项目的历史和规则以及当前的统计数据和排名的问题解答。通用 LLM 可以回答有关历史和规则的问题,或者描述某支球队的体育场。但它无法与人们讨论昨晚的比赛,或提供某位运动员受伤的当前信息,因为 LLM 不具备这些信息,而且 LLM 需要大量的计算马力进行重新训练,因此无法及时更新模型。

除了偏向静态的大型 LLM 外,体育联赛拥有或可以访问许多其他信息源,包括数据库、数据仓库、包含球员简介的文件、深入剖析每场比赛的新闻馈送等。RAG 支持生成式 AI 采集此类信息。因此,聊天机器人可以提供更及时、更符合具体情境且更准确的信息。

简而言之,RAG 有助于 LLM 提供更好的答案。

关键要点

  • RAG 是一种相对较新的人工智能技术,支持大型语言模型 (LLM) 无需重新培训即可利用更多的数据资源,从而提高生成式 AI 的质量。
  • RAG 模型根据组织自身的数据构建知识库,并且可以不断更新存储库,帮助生成式 AI 提供及时、与具体情境相关的回答。
  • 聊天机器人和使用自然语言处理的其他会话系统将从 RAG 和生成式 AI 中取得显著优势。
  • 实施 RAG 需要像向量数据库这样的技术,从而快速完成新数据的编程工作,并根据该数据进行搜索并输入到 LLM 中。

检索增强生成的工作原理

一家企业可能拥有这些信息:结构化数据库、非结构化 PDF 及其他文档、博客、新闻源、客户服务的聊天记录等。在 RAG 中,大量的动态数据将被转换成一种通用格式,并存储在知识库中,这些知识库可供生成式 AI 系统访问。

然后,使用一种称为嵌入式语言模型的特殊类型算法,将该知识库中的数据处理成数字表示形式,并存储在向量数据库中,从而快速搜索这些数据并用于检索符合情境的信息。

RAG 和大型语言模型 (LLM)

现在,如果最终用户向生成式 AI 系统发送了一个提示,比如“今晚的球赛将在哪里举办,谁是先发球员,记者如何介绍此次对决?”该查询将转换成向量,并用于查询向量数据库,以获取符合该问题情境的信息。这些情境信息和原始提示将输入到 LLM,然后根据一些以前的通用知识以及刚刚更新的情景信息生成文本响应。

有趣的是,虽然训练通用 LLM 的过程耗时且成本高昂,但更新 RAG 模型却恰恰相反。新数据可以加载到嵌入式语言模型中,并持续以增量的方式转换为向量。事实上,来自整个生成式 AI 系统的答案可以反馈到 RAG 模型,以提高该模型的性能和准确性,因为其实 RAG 模型可以知道是否已经回答过类似的问题。

RAG 的另一个好处是,通过使用向量数据库,生成式 AI 可以提供答案中所引用的特定数据源,这一点是 LLM 无法做到的。因此,如果生成式 AI 的输出中存在不准确性,我们可以快速识别和更正含有错误信息的文档,然后将已更正的信息导入向量数据库中。

简而言之,RAG 为生成式 AI 提供基于证据的结果,可以确保及时性、情境正确性和准确性,超越了 LLM 本身所能提供的。

检索增强生成与语义搜索的区别

在提高基于 LLM 生成式 AI 的准确性方面,RAG 并不是唯一的技术。另一种技术是语义搜索,有助于 AI 系统通过深入了解提示中的特定单词和短语,缩小查询的范围。

传统搜索侧重于关键字。例如,一个有关法国原生树种的基本查询可能会使用“树”和“法国”作为关键字来搜索 AI 系统的数据库,并查找同时包含这两个关键字的数据,但系统可能无法真正理解法国树的含义,因此可能会检索太多、太少甚至是错误的信息。基于关键字的搜索也可能会遗漏部分信息,因为关键字搜索太局限于字面意思,比如即使诺曼底位于法国境内,缺少关键字可能会遗漏了诺曼底的原生树种。

语义搜索将判断问题和源文档的含义,并使用该含义来获取更准确的结果,从而超越关键字搜索。语义搜索是 RAG 的一个重要组成部分。

在聊天应用中使用 RAG

如果要立即获取问题解答,很少有技术能够胜过聊天机器人的即时性和可用性。大多数的聊天机器人都经过了有限数量的意图训练,可以有效响应这些意图,也就是客户期望的任务或结果。RAG 功能可以让 AI 系统为不包含在意向列表中的问题提供自然语言答案,从而优化当前的聊天机器人。

“提出问题,获得答案”模式使聊天机器人成为生成式 AI 的理想用例,这其中有许多原因。这些问题通常需要考虑特定的情境来生成准确的答案,再加上聊天机器人用户对相关性和准确性的期望很高,RAG 技术的用途显而易见。事实上,对于许多企业来说,聊天机器人确实可能成为结合使用 RAG 和生成式 AI 的起点。

普遍而言,只有了解具体的情境,才能提供准确的答案。以客户查询新推出的产品信息为例,如果只有旧版产品的数据,查询结果的帮助不大,甚至可能产生误导性。或者,对于一个想要知道公园在这个星期日是否开放的徒步旅行者而言,查询结果必须及时、准确地提供相关日期和地点的准确信息。

检索增强生成的优势

RAG 技术可用于提高生成式 AI 系统对提示的响应质量,这是 LLM 无法单独提供的优势。RAG 的优势还包括了:

  • RAG 可以访问比用于训练 LLM 的数据更新的信息。
  • RAG 知识库中的数据可以持续更新,不会产生昂贵的成本。
  • RAG 的知识库可以包含比通用 LLM 中的数据更符合情境的数据。
  • RAG 向量数据库中的信息来源可以被识别,因此可以更正或删除 RAG 中的不正确信息。

检索增强生成的挑战

由于 RAG 是一项相对较新的技术,在 2020 年才首次提出,AI 开发人员仍在学习如何在生成式 AI 领域更好地实施信息检索机制。其中,主要的挑战包括:

  • 提高企业对 RAG 的理解和认识,因为这是一个非常新的技术
  • 增加成本;虽然采用 RAG 的生成式 AI 比单独实施 LLM 更昂贵,但前者成本比需要经常重新训练的 LLM 成本更低
  • 了解如何对知识库和向量数据库中的结构化和非结构化数据更好地进行建模
  • 制定向 RAG 系统递增数据馈送流程的要求
  • 制定流程来处理不准确的报告,并在 RAG 系统中更正或删除这些信息源

检索增强生成的用例

由 RAG 增强的生成式 AI 有许多用例。

Cohere 是生成式 AI 和 RAG 领域的先行者,该公司发表了一篇文章,介绍了聊天机器人如何提供符合加那利群岛度假租赁情境的信息,包括基于事实的回答,例如无障碍沙滩、附近海滩的救生员以及步行可达的排球场。

Oracle 也介绍了其他 RAG 用例,例如分析财务报告、协助发现天然气和石油、审核呼叫中心客户交流的文字记录以及在医疗数据库中查找相关研究论文。

检索增强生成的未来

今天,我们仍处于 RAG 的早期阶段。该技术目前广泛用于为查询提供及时、准确和符合情境的答案。这些用例适用于聊天机器人、电子邮件、文本消息传送和其他会话式应用。

未来,RAG 技术可能的发展方向是帮助生成式 AI 根据情境信息和用户提示采取适当的行动。例如,RAG 增强的 AI 系统可以识别加那利群岛中评价最高的海滩度假村,然后在排球锦标赛期间,预订在海滩步行距离内的独栋双卧房源。

RAG 还有助于处理更复杂的提问。如今,生成式 AI 可能能够告诉员工公司的学费报销政策;RAG 可以添加更多的情境数据,告诉员工附近有哪些学校提供符合该政策的课程,根据员工职务和以前参加过的培训推荐合适的课程,甚至可能帮助员工报读课程并发起报销请求。

Oracle 的生成式 AI 服务

Oracle 提供各种基于云技术的高级 AI 服务,包括在 Oracle Cloud Infrastructure (OCI) 上运行的 OCI Generative AI 服务。Oracle 所提供的产品内含基于您的企业数据和行业知识的强大模型。客户数据不会与 LLM 提供商共享,也不会被其他客户访问,只有客户自己能够使用基于企业数据进行训练的定制模型。

此外,Oracle 还在广泛的云技术应用中集成了生成式 AI,并且为使用 OCI 和整个数据库组合的开发人员提供了生成式 AI 功能。此外,Oracle 的 AI 服务为您提供专属的单租户 AI 集群,进而提供可预测的性能和定价。

众所周知,LLM 和生成式 AI 具备强大的力量和功能,在过去一年中曾无数次登上了新闻头条。通过使 LLM 更加及时、更准确、更符合情境,检索增强生成可以充分利用 LLM 的优势。对于生成式 AI 的商业应用,RAG 是观察、研究和试验的重要技术。

为什么 Oracle 与生成式 AI 高度适配?

Oracle 提供现代数据平台和低成本的高性能 AI 基础设施。强大的高性能模型、数据安全性和嵌入式 AI 服务等优势,充分体现了 Oracle 的 AI 产品是专为企业而打造的产品。

检索增强生成的常见问题解答

RAG 是否与生成式 AI 相同?

不同。RAG 技术可以提供比单独的生成式 LLM 更准确的查询结果,因为 RAG 还可以使用 LLM 数据以外的知识。

RAG 使用哪种类型的信息?

RAG 可以整合来自多个来源的数据,例如关系数据库、非结构化文档存储库、互联网数据流、媒体新闻源、音频转录和事务日志。

生成式 AI 如何使用 RAG?

企业数据源中的数据将会嵌入到知识库中,然后转换为向量,并存储在向量数据库中。当最终用户进行查询时,向量数据库会检索符合情境的信息。此情境化信息以及查询将发送到大型语言模型,该模型将使用相关情境来创建更及时、更准确、更符合情境的响应。

是否可以追踪 RAG 所引用的数据参考来源?

可以。RAG 使用的向量数据库和知识库包含了信息源的详情。这意味着这些信息来源可以被引用,如果其中一个信息源存在错误,可以快速进行更正或删除,确保后续查询不会返回错误的信息。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. Oracle专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。