LLM 功能强大,但其知识仅限于预训练数据。这给需要依赖自己特定文档和数据的 AI 应用的企业带来了挑战。
RAG 通过使用外部数据补充 LLM 来解决这一限制。这项技术可从各种结构化和非结构化来源 (包括文本、图像和视频) 中检索相关信息,从而在公司的专有数据中找到 LLM 的回答,从而提高准确性并减少幻觉。这种主动检索 (通常由用于高效语义搜索的向量数据库提供支持) 使 LLM 能够提供比仅依赖预训练更明智、更符合上下文的答案。
简而言之,RAG 的工作原理如下:
借助 RAG,您无需完全重新训练 LLM,即可集成专业知识,从而节省计算资源。
关键词搜索侧重于查找与用户输入的单词或短语完全匹配的项,按照字面意思处理查询,对同义词或上下文的理解有限。例如,搜索“扁平足最佳跑鞋”的关键词搜索可能仅返回包含这一特定短语的结果。
相反,语义搜索旨在通过分析单词与用户历史记录之间的上下文和关系,来理解查询背后的含义和意图,从而提供相关性更强的结果。若对“扁平足最佳跑鞋”进行语义搜索,则可能返回“稳定性跑鞋”、“足弓支撑跑鞋”,甚至是适合扁平足的特定鞋型评论,即使搜索查询中并未输入这些具体的关键词。
本质而言,关键词搜索查找单词,而语义搜索则查找含义。
信息检索是指根据用户查询查找相关文档或数据的过程。它使用 BM25、TF-IDF 和向量搜索等算法,返回来源列表,用户必须手动查看这些来源,获取所需洞察。RAG 不仅仅返回文档,还使用检索到的数据合成直接响应,从而减少人工解释的需求。信息检索侧重于查找相关内容,RAG 则使用该内容实时生成可感知上下文的连贯答案。
典型的 RAG 工作流程分为三个阶段:提取(数据被摄取和嵌入的过程)、检索和生成。每个阶段对于确保 RAG 工作流检索到准确、可靠且相关的数据至关重要。
在提取阶段,企业数据被收集、转换、索引并存储在向量数据库中。在这一阶段,嵌入式模型将文本、音频或视觉内容转换为高维向量表示,实现基于相似度的搜索。在存储之前,对嵌入向量进行索引(如作为图形),以便使用近似最近邻 (ANN) 查找方法进行快速检索。
检索使用向量和关键词搜索技术识别并检索相关数据。许多 RAG 系统还使用重新排序模型来识别哪些检索到的数据最相关。在检索阶段加入重新排序模型,有助于 RAG 系统提高最终响应生成的整体精确性。
最后,在生成阶段,LLM 将用户的提示与检索到的数据相结合,制定出既具有语义又具有情景准确性的答案。这一结合赋予了 RAG 相对于纯 LLM 解决方案的独特优势。
RAG 架构示意图显示三个阶段:由 NVIDIA Nemotron™ 基础模型和 NeMo™ Retriever 微服务驱动的数据提取、检索和生成,并由 NVIDIA cuVS 加速。
在 RAG 工作流中,数据提取涉及数据采集、嵌入生成和索引。
首先,您必须收集、解析并清理数据,包括文档、PDF、产品目录、图像、甚至音频转录。文本通常被分割为段落或章节,以限制上下文长度,并最大限度提高检索准确性。包含准确元数据和最少重复的高质量提取至关重要,因为如果基础数据不完整或混乱,即使是最先进的 LLM 也难以提供出色表现。
您的数据源将暗示理想的数据采集方法:
在提取阶段,嵌入模型将数据转换为向量嵌入。向量嵌入式将文本、图像或音频等数据映射到高维空间的数值表示。这些嵌入可以捕捉内容的语义含义,实现 RAG 中基于相似度的检索。具有相关含义的项目将出现在向量空间中,彼此相邻,实现快速、高效的搜索。
例如,在搜索系统中,“深度学习快速 GPU”等查询可检索具有相似嵌入的文档,确保得到与上下文相关的结果。高质量嵌入对于 AI 应用中准确且有意义的检索至关重要。
最后,创建并插入嵌入后,系统将对向量数据库中的数据进行索引。向量数据库是 RAG 系统的核心,需要将信息有效地存储为数据块,每个数据块由嵌入模型生成的相应多维向量表示。这些数据库可处理向量空间运算的复杂性和特殊性,如余弦相似性,从而提供具有有效相似性搜索、处理高维数据、可扩展性、实时处理和增强搜索相关性等关键优势。
显示 RAG 工作流和 GPU 加速向量数据库中数据提取的架构 - 由 NVIDIA Nemotron 模型和 NeMo Retriever 微服务提供支持,并经 NVIDIA cuVS 加速。
检索可识别相关性最高的数据,从而增强 LLM 的响应速度。此过程通常从查询重写开始,其中原始搜索查询会自动优化。这可能涉及使用同义词扩展数据集、解决模糊不清之处,或整合先前交互的上下文,以提高检索准确性。
接下来,使用嵌入模型将查询转换为嵌入 (一种数字向量表示) 。这种转换可确保与存储的数据嵌入兼容,因此保持提取时间和查询时间嵌入之间的一致性至关重要。
最后,系统执行相似性搜索,使用余弦相似性、欧几里德距离或点积等指标测量向量距离,从而检索top-k 最相关的块。ANN 算法通过高效缩小潜在匹配范围来优化此步骤。然后,检索到的内容 (无论是文本、图像还是其他数据) 为 LLM 的最终响应提供关键背景。
架构示意图显示通过 GPU 加速向量数据库的 RAG 检索工作流,该流程由 NVIDIA Nemotron 模型、NeMo Retriever 微服务和 NVIDIA cuVS 提供支持。
检索后是重新排序步骤,通过使用重新排序模型对最相关的数据进行优先排序,从而优化结果。排序可能基于最新性、领域相关性或用户偏好。重新排序模型 (无论是基于启发式还是由机器学习驱动) 可改善检索召回率,确保 LLM 首先处理最高质量的信息。
重新排序模型优先考虑最相关的数据块,然后再将其传递给 LLM,从而优化检索结果。初始检索后,重新排序模型会根据相关性信号对内容重新排序,如关键词频率、语义相似度、最新性或元数据对齐情况。它们可以是基于规则(BM25 等启发式)、由机器学习驱动(习得的相关性模型)或结合多个因素的混合方式。有效的重新排序可确保 LLM 首先处理最有用的数据,从而提高 RAG 系统的响应精度和效率。
为了优化 LLM 响应,我们采用了先进的检索技术,通过组合方法、管理大数据和适应查询的细微差别来帮助提高搜索精度。
| 高级检索技术 | |
|---|---|
| 混合检索 | 这种方法将向量搜索与 BM25 等传统技术相结合。 |
| 长上下文检索 | 一些 LLM 可以在一个提示中处理数千个 token,从而处理大量检索到的内容。这在需要多个来源的回复的研究、法律和技术领域尤其有用。但是,更长的提示会增加计算成本和内存使用量。 |
| 上下文检索 | 通过元数据 (例如数据块所属的文档、周围环境的摘要或数据块索引日期) 向每个数据块添加额外的上下文是增加检索工作流检索正确上下文的可能性的另一种方法。这种创造的“上下文检索”方法在处理复杂的多源文档 (例如编码库、法律文档和科学研究论文) 时非常有用。 |
检索到相关信息后,RAG 生成阶段需要使用 LLM 合成最终响应。该流程包括:
通过围绕经过验证、检索到的信息构建响应,RAG 可提高 AI 生成内容的可靠性和透明度。
RAG 通过集成外部数据检索增强 AI 生成的响应,具有以下几个关键优势:
这些优势推动 RAG 成为需要最新、可靠的情境感知型 AI 生成响应的应用的强大方式。
AI 聊天机器人向 AI 助手和 AI 智能体的演进,标志着企业和数字工作者的重要里程碑。这些生成式 AI 驱动的软件应用使用 RAG 实时查询数据库,提供与用户查询上下文相关的响应,并使用最新可用信息进行丰富,而无需重新训练底层 LLM。这一进步深刻影响了用户参与度,特别是在客户服务、教育和娱乐等行业,这些行业对即时、准确和明智的响应的需求至关重要。
需要基于实时可靠数据的 AI 驱动见解的行业应用包括:
企业搜索和知识管理:通过检索和合成大量企业文档、Wiki 和知识库中的信息来增强内部搜索,从而减少搜索答案所花费的时间。 |
金融和市场情报:通过检索和总结实时市场趋势、公司报告和监管文件,帮助分析师做出明智的决策。 |
客户支持和聊天机器人:支持 AI 驱动的虚拟助理,通过检索公司政策、常见问题解答和故障排除指南来提供准确的最新响应,而不是仅仅依靠预训练的知识。 |
医疗保健和医学研究:通过检索和总结最新的医学研究、临床指南和患者记录,为临床医生和研究人员提供支持,以协助他们做出决策。 |
法律与合规协助:检索并合成法律文件、案例法和监管指南,帮助律师和合规团队进行研究和合同分析。 |
代码和软件文档:通过从资源库和技术指南中检索相关代码片段、API 文档以及故障排除解决方案,为开发者提供协助。 |
提高 RAG 工作流准确性的方法有多种,包括参数化方法 (如微调) 和非参数化工作流修改。
模型选择:为您的 RAG 工作流选择最佳模型会对工作流的准确性产生重大影响。确保您为每个函数 (嵌入模型、重排序模型和生成器) 使用最佳模型,以提高许多 RAG 工作流的整体准确性性能。
微调:提高 RAG 准确性的一种常用方法是微调生成器 (负责生成最终响应的 LLM) 和/ 或嵌入模型 (用于助力检索和提取) 。通过捕获用户对生成的响应的反馈,您可以设置一个数据飞轮来自动微调生成器模型。
重排序:使用重排序模型可以帮助您选择与回答用户查询最相关的上下文。这种方法会增加少量额外延迟,但通常会对准确性产生巨大影响。
RAG“超参数”:通过修改和试验不同的 RAG 超参数(例如数据块大小、数据块重叠和嵌入向量大小) ,您可以大幅改进 RAG 工作流。这些方法需要可靠的评估 (例如通过 NeMo Evaluator 微服务) ,但对工作流准确性的影响极大。
查询增强:通过添加查询转换、重写等方法,您可以确保查询适合为任何域创建的特定工作流,从而提高 RAG 工作流的有效性。
RAG 工作流将 LLM 的优势与外部知识来源相结合,可以通过采用多种技术来体验性能提升:
若要开始构建 RAG 示例应用,请下载 NVIDIA AI Blueprint,构建企业级 RAG 工作流。该参考架构为开发者提供了构建可扩展、可自定义检索工作流的基础起点,从而提供较高的精度和吞吐量。
它集成了最先进的 NVIDIA 技术,包括用于提取、嵌入和重新排序的 NVIDIA NeMo Retriever 微服务,以及用于加速数据处理并具有成本效益的可扩展 RAG 解决方案 NVIDIA cuVS。
要将 AI 智能体连接到大量多样化数据,需构建一个 AI 查询引擎。借助由 RAG 和 NeMo Retriever 提供支持的用于构建 AI 智能体的 NVIDIA Blueprint — AI-Q。此外,开发者可以使用开源工具包 NVIDIA NeMo Agent Toolkit 高效连接智能体团队,并优化代理式 AI 系统。
将 RAG 应用于生产流程会面临数据管理、治理、安全性、可扩展性和部署复杂性等挑战。NVIDIA AI Enterprise 提供强大的工具和技术,包括 NVIDIA Blueprint、NVIDIA NeMo 和 NVIDIA NIM,可简化开发和部署。注册获取 90 天免费试用,享受企业级安全性和强大支持,自信从容地扩展 AI。