什么是检索增强生成?

RAG 利用相关数据增强大型语言模型的提示功能,以获得更实用、更准确的响应。

RAG 体系架构如何工作?

检索增强生成 (RAG) 是一种将基于通用世界知识的 LLM 与特定于某家企业的信息源(例如文档、SQL 数据库和内部业务应用)相结合的软件体系架构。RAG 提高了 LLM 响应的准确性和相关性。RAG 使用向量数据库技术来存储使用语义搜索检索的最新信息,并连同其它有用信息添加到提示的上下文窗口,助力 LLM 生成潜在最佳、最新的响应。这种体系架构现在已经广为人知,包括通过集成来自 LLM 的知识和专有业务数据,提供详细且相关答案的能力。

RAG 是如何工作的?

AI 聊天机器人和 Web 应用利用 Llama2 和 GPT 等基于大量信息收集获得精心训练的 LLM,生成满足用户提示词的响应。凭借对语言细微差别和生成能力的深入理解,这些 LLM 成为 RAG 体系架构的基础

对信息进行分块、向量化和存储,在推理时进行检索。

步骤 1:实施 RAG 系统的第一步是找到项目将要使用的业务知识源。这些数据可能包括元数据、文本、图像、视频、表格、图表等。特定于企业的数据由数据处理服务进行预处理并分成数据块。接下来,这些数据块被输入嵌入模型,创建一个向量,即每个数据块的含义和细微差别的数值表示。这些向量及其相应的数据块被存储在向量数据库中以供后续检索。

步骤 2:在收到聊天机器人或 AI 应用的查询后,系统会解析提示。它使用与数据摄取相同的嵌入模型来创建表示用户提示各个部分的向量。向量数据库中的语义搜索返回与企业最相关的特定数据块,这些数据块被放置在提示的上下文中。其他数据块(来自信息检索系统,如 SQL 数据库、其他关键业务应用程序和 AI 模型)以及更多 LLM 指令也在增强提示发送到 LLM 之前进行检索。LangChain 和 LlamaIndex 是热门开源编程框架,为创建 AI 聊天机器人和 RAG 解决方案提供自动化功能。

AI 聊天机器人如何使用 RAG?

AI 聊天机器人的出现,标志着一个重要的里程碑,它使用自然语言,以问答对话方式,让用户访问特定业务数据。当 ChatGPT 凭借庞大的 GPT-3 大语言模型 (LLM) 横空出世时,人们对 AI 聊天机器人的兴趣高涨。当时,GPT-3 仅限于使用训练数据。现代 AI 聊天机器人运用专有或开源 LLM,如 GPT-3、Llama 或具有 RAG 功能的 Mistral,因此可以使用当前特定业务数据源来增强 LLM 的提示功能,提高其相关性和实用性。

AI 聊天机器人使用 RAG 实时查询数据库,提供与用户查询上下文相关的响应,并利用最新信息丰富数据,而无需重新训练底层 LLM。这一进步深刻地影响了用户参与度,特别是在客服、教育和娱乐等行业。在这些行业,以即时、准确和明智的方式响应用户需求至关重要。

RAG 如何解决 LLM 幻觉?

在企业 AI 解决方案的网络中部署 LLM 时面临的一个重大挑战是幻觉现象。在这些情况下,LLM 产生的响应虽然看起来逻辑上连贯且合理,但与事实不符,不准确。这个问题危及企业决策过程的准确性,并会降低人工智能驱动的洞察力的可靠性。

借助 RAG,LLM 在提示的上下文窗口中获得额外的指令和相关数据块,以提供更明智的响应,从而减少错误信息,但不能消除幻觉。我们仍然需要采用传统技术,减少幻觉现象。大多数企业部署还使用安全护栏来减轻有害的用户交互。

提示工程、对齐和 RAG 如何相互作用?

综合利用各种技术可以更有效、更有针对性地满足特定企业的需求,令 LLM 更加适应现实世界业务场景

  • 基础模型是使用机器学习和大量收集的可访问数据,经过需要大量劳动和成本高昂的过程开发出来的 LLM。这一流程需要大量硬件和数据资源。
  • 提示工程是一项可增强用户初始提示功能的基数,可在将提示发送至 LLM 前添加上下文。
  • 对齐技术:通过借助特定于业务的信息、词汇和技能对 LLM 进行训练,从而
    • 微调该 LLM,提高其对特定任务的适配性。
    • 基于人类反馈强化学习 (RLHF),通过人类对提示的替代响应的直接反馈来改进模型,从而微调 LLM 对品味或风格问题的回答,这两个方面没有明确的准确性标准。
    • RLAIF 可以提高 LLM 的指令遵循能力。它利用强化学习技术和人工智能生成的反馈来微调语言模型。
    • DPO 是一种微调 LLM 的方法,可使其与人类偏好保持一致,而无需在训练过程中依赖于语言模型的采样。
    • SteerLM 是一种通过实时调整和反馈机制动态引导大型语言模型的方法,以生成更符合用户偏好和意图的响应。
  • RAG 将相关数据块添加到 LLM 提示中,通常从向量数据库或业务中的其他信息源中检索,然后将其发送给 LLM。

这些技术提高了发送给 LLM 的提示的准确性和相关性,使其能够为用户查询提供最佳的响应。

嵌入模型如何在 RAG 中运作?

用于单词的 Word2Vec 或用于句子的 BERT 等嵌入模型将单词、句子、图形和表格等数据块转换为多维数字向量,从而在向量空间中截取其含义和细微差别。在训练有素的嵌入模型中,具有相似含义的项目在向量空间中的定位邻近,说明它们具有互换性或关系。

向量截取信息的意义和细微差别。

嵌入向量用于各种自然语言处理 (NLP) 任务,如文本分类、情感分析和机器翻译,令机器能够更有效地处理和理解语言。嵌入模型作为桥梁,通过将语义和上下文关系编码成可管理的数字格式,让技术和人类语言之间进行更细微的交互。信息检索的效率和准确性取决于嵌入模型的质量和复杂性,因此嵌入模型成为 RAG 生态系统的关键要素。

为什么需要向量数据库?

向量数据库是 RAG 系统的核心,可以以数据块形式有效地存储特定于业务的信息,每个数据块由嵌入模型产生的相应多维向量表示。存储在向量数据库中的数据块可以是文本、图形、图表、表格、视频或其他数据模式。这些数据库可以处理向量空间操作的复杂性和特异性,如余弦相似性,因此具备几个关键优势:

  • 高效相似性搜索:能够快速搜索最接近查询向量的 top-K 向量,对语义搜索和推荐系统而言至关重要。
  • 处理高维数据:随着数据中相关特征数量的增加,使用传统 SQL 数据库难以提供最快的性能。
  • 可扩展性:向量数据库可以在多个 GPU 加速服务器上运行,以提供理想的数据摄取或相似性搜索性能。
  • 实时处理:RAG 应用,如 AI 聊天机器人,依靠向量数据库提供最新的业务信息发送给 LLM,因此 LLM 能够更好地满足用户的查询。
  • 增强的搜索相关性:通过理解语义关系,改善内容发现和用户体验,提供更相关的结果。

这些功能令向量数据库成为 RAG 不可或缺的一部分,支持涉及复杂数据的高效运维。

什么是向量检索机制?

向量检索机制是 RAG 系统运行的基础,支持快速高效地检索特定的企业的信息。该过程包括一系列复杂的步骤,从利用嵌入模型对数据进行初始分块并转换为向量,到运用 ANN 搜索等算法从向量数据库中检索 top-K 匹配向量。这些算法通常需要 GPU 加速,这对于浏览企业环境中的常见大量数据集至关重要,可确保快速准确地检索最相关的信息。

为什么 RAG 需要持续学习和更新?

不断改进、反馈和更新是 RAG 系统的基本特征,使其能够不断改进和发展。您可以在系统中利用用户反馈在 RAG 系统中创建更准确和相关的响应。新数据被永久地纳入向量数据库中,为系统和用户提供最相关的材料。这种不断更新底层业务信息的动态过程可确保 RAG 系统提供高质量、适合上下文的响应,而无需进行成本高昂的 LLM 再训练。

如何利用硬件加速 RAG?

RAG 工作流中的许多元素均使用 GPU 加速,包括清理源数据、创建嵌入和索引、在向量数据库中进行相似性搜索,以及 LLM 执行的响应提示操作。通过使用 NVIDIA RAPIDS RAFT TensorRT™,、TensorRT-LLM 和 Triton™ 推理服务器、Transformer Engine、Tensor Core 和其他 GPU 加速技术,RAG 应用受益于对底层硬件的高效使用。这种加速对于维持 RAG 系统所需的高性能标准至关重要,有助于快速适应新兴数据趋势,并确保系统基于最新信息生成准确、相关的响应。

对于 RAG 的数据监管要求是什么?

在数据管理方面,RAG 系统优先管理特定领域的 LLM 训练数据和知识库数据,特别是在处理专有或敏感数据源的情况下。遵守隐私法规和道德标准并实施强大的安全措施,是维护 RAG 应用完整性和可信度的基础。通过一个包括隐私、安全、数据质量、道德数据使用和生命周期管理在内的综合性框架,RAG 系统致力于开发和部署合乎道德的 AI,确保有效、负责任和透明地使用数据。强烈推荐 NVIDIA NeMo™ Guardrails功能,确保 LLM 不会生成错误的内容。

如何开始使用 RAG?

要开始创建示例 RAG 应用,使用 NVIDIA AI 工作流示例访问微服务,微服务支持您创建企业级 RAG 应用并将其投产。

您也可以免费试用 NVIDIA AI Enterprise 90 天,将 RAG 应用从试点转为投入生产阶段。

后续步骤

深入了解 RAG

如需详细了解有关构建 RAG 工作流,请参阅 NVIDIA 技术博客。

开始构建 RAG 应用

查看 NVIDIA AI 工作流,获取参考解决方案,开始构建 AI 聊天机器人。

点播观看 RAG 视频和教程

注册查看 RAG 免费教程的视频列表、分步指南和说明。