跳至内容

什么是 RAG?检索增强生成如何工作

发布时间
最近更新

收听收听本文

AI 模型根据训练时学到的内容生成回答,因此不会自动了解训练完成后出现的公司政策、产品或其他信息。RAG(检索增强生成)会在模型作答前检索相关外部信息并提供给它,从而解决这一问题。

RAG 让 AI 的回答以企业实际文档为依据。使用 RAG 的客服智能体可在回答前调取当前退货政策或产品规格,从而降低幻觉风险。

本指南将介绍 RAG 在 AI 中的含义、检索与生成如何协同工作,以及 RAG 与单独使用 LLM 有何不同。还会讲解 RAG 的局限性、它在生成式 AI 应用中适用的场景,以及 RAG 如何支持AI 智能体进行知识检索。

ElevenLabs Conversational AI demo introducing Retrieval-Augmented Generation (RAG).

摘要

  • RAG 将检索系统与生成模型结合,让模型可以使用训练数据以外的信息。
  • RAG 检索的知识存储在模型之外,因此无需重新训练即可更新。
  • 当知识库过大、无法直接放入模型上下文时,ElevenAgents 会自动使用 RAG,确保在大型复杂知识库中仍能快速准确地回答。

AI 中的 RAG 是什么?

RAG是一种围绕 LLM 构建的系统架构,为其提供品牌指南、产品手册、知识库文章或内部数据库等外部信息。借此,AI 可以使用企业专属信息,回答也能反映当前政策、私有知识以及模型从未训练过的公司信息。

LLM 一次只能处理有限的信息量,称为上下文窗口。大型组织知识库很容易超出这一限制,因此 RAG 将信息保留在 LLM 外部,只检索当前问题所需的段落。

这一名称描述了信息在系统中的流转方式:

  • 检索:在已连接的来源中搜索与用户请求相符的内容,例如政策文档、帮助台日志或库存文件。
  • 增强:将检索到的最相关段落添加到提示词上下文中。
  • 生成:结合用户请求和检索到的上下文生成答案。

RAG 还支持“基于事实作答”,即将 AI 回复与特定来源信息关联。它会为 LLM 提供生成答案时可用的相关材料。例如,客户询问保修政策时,RAG 系统会从公司文档中检索相关条款,并交给 LLM 据此回答。

RAG retrieves relevant sources, augments prompts with context, and generates answers.

检索增强生成如何工作?

RAG 系统先准备供搜索的外部知识,检索与用户问题最相关的信息,再将这些信息作为上下文提供给 LLM,然后生成回复。

RAG 的实现复杂度各不相同。基础 RAG 使用直接的“检索后生成”流程,更高级的方法则可能加入查询改写、筛选、重排序或其他检索技术。

RAG 流程通常包含 5 个步骤:

  1. 准备知识:将文档划分为更小的段落(称为“分块”),转换为称作嵌入的数学表示,并存储在可搜索的索引或向量数据库中。

  2. 处理查询:系统理解用户问题;在更高级的 RAG 系统中,会先改写或优化问题再搜索。

  3. 检索相关段落:检索器在已建立索引的知识库中,搜索最匹配请求的文本块。

  4. 为模型请求添加上下文:将选定段落连同用户问题、相关指令和对话历史一并发送给 LLM。

  5. 生成回复:LLM 将检索材料作为上下文的一部分来生成答案。

许多 RAG 系统会选择性地将检索作为外部工具触发。ElevenAgents 支持团队直接在智能体设置中为知识库启用 RAG;在对话跟进时,系统会通过查询改写,将之前的对话和模糊指代转换为准确、独立的搜索查询。

为确保及时回复,ElevenLabs 还开发了模型竞速架构:将每个查询并行发送至多个改写模型,并采用首个有效回复。这种方法将 RAG 延迟中位数降低了一半,从 326 ms 降至 155 ms。即使大型知识库触发检索,也能保持足够快的速度,维持自然的对话流畅度。

Five-step RAG workflow; model racing cuts median latency from 326 ms to 155 ms.

LLM 与 RAG 模型有什么区别?

LLM 是理解和生成语言的模型。RAG 则是围绕 LLM 构建的架构,在应用需要时检索外部信息。

LLM 与 RAG 结合后,变化如下:

功能

单独使用 LLM

结合 RAG 的 LLM

知识

训练数据和当前上下文

训练数据、当前上下文,以及检索到的公司信息,如政策、产品文档或知识库内容

更新

必须通过上下文或模型更新提供新信息

外部知识可独立于模型更新

私有信息

除非提供,否则不可用

可从获批的私有来源检索

检索

不属于基础模型的一部分

由外围 RAG 系统添加

“RAG 模型”有时是指在 RAG 系统中使用的 LLM。例如,公司可能会说它为客户支持使用“RAG 模型”,但实际配置是 LLM 在生成回答前检索相关帮助中心或政策内容。

LLM alone vs. RAG: retrieval adds private company information without changing model weights.

RAG 模型在实际应用中的局限性

RAG 改善了对存储在 LLM 外部的相关业务知识的访问,但检索本身也有局限,且不能保证答案正确。主要限制体现在系统检索到什么、向模型发送什么,以及模型如何回复:

  • 检索质量:如果系统遗漏了最相关的段落,LLM 一开始获得的上下文就不完整或质量较低。措辞不佳的查询、较弱的语义匹配或模糊表述,都可能让检索偏离方向。
  • 来源质量:过时、相互冲突或不完整的文档可能导致不可靠的答案。
  • 上下文选择:不佳的分块或检索选择可能遗漏必要细节,或引入无关信息。
  • 额外延迟:生成前需要进行检索和查询处理,这可能拖慢实时应用的响应速度。
  • 生成错误:LLM 仍可能误解检索到的信息,或加入缺乏依据的说法。

RAG 可以降低幻觉风险,但无法完全消除。结果是否准确,仍取决于维护良好的来源、有效检索和对最终回复的控制措施。

Slide lists five RAG limitations and says it reduces, but does not eliminate, hallucinations.

生成式 AI 中的 RAG:实际应用场景与优势

当 AI 应用需要频繁变动、属于组织内部,或大到无法纳入每次模型请求的信息时,RAG 最有价值。

RAG 在以下场景效果尤为明显:

跟进频繁更新的信息

RAG 帮助团队让 AI 回复与当前产品详情、定价、政策和库存保持一致。团队可以独立更新源信息,提问时 RAG 会检索相关版本。例如,潜在客户资格评估智能体可在评估来电客户资格时调取最新定价或套餐详情。

使用私有或专业知识

有些知识属于私有或专业信息,而非公开信息,例如内部政策、技术文档,或面向特定团队的支持内容。RAG 让智能体直接从这些来源检索,而不只依赖公开信息或模型内置知识。

例如,内部 IT 或 HR 帮助台智能体可从 HR 专属知识库检索信息,回答员工福利问题,而不是搜索不包含这些信息的公开文档。

搜索大型知识库

当公司的文档量远超 LLM 单次请求可处理的范围时,RAG 就能发挥作用。它只检索与当前问题相关的段落,而非将整个集合发送给模型。在销售场景中,技术助手可以在通话期间搜索产品手册,查找相关要求。

使用 ElevenAgents 开始构建高级 RAG 解决方案

ElevenAgents 帮助团队构建使用 RAG 和已连接知识来源的 AI 语音及聊天智能体。既可通过无代码网页平台使用,也可通过 API 将智能体直接嵌入自己的产品。

对于启用 RAG 的智能体,团队可将文档、URL 或文本添加到知识库中,并且只检索与每项查询相关的信息。

ElevenLabs 还针对实时对话优化了检索,在其 ElevenAgents 架构中将 RAG 延迟中位数从 326 ms 降至 155 ms。无论通过控制台配置智能体,还是通过 API 在其基础上开发,使用 ElevenAgents 的团队都能开箱即用这些检索功能。

开始构建 ElevenAgents,或联系我们的团队,讨论适合应用的配置方案。

RAG 常见问题

相关内容

用高质量 AI 音频创作