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