🅰️ℹ️ 1️⃣0️⃣1️⃣ 什么是 HtmlRAG、多模态 RAG 和 Agentic RAG?
🔳 我们将详细探讨三种 RAG 方法,它们解决了原始 RAG 的局限性,并顺应了新年的趋势
检索增强生成(RAG)是一个永恒的话题,它不断扩展以增强大型语言模型(LLM)的功能。对于那些不熟悉 RAG 的人来说:这种方法通过从外部资源检索你实际需要的信息,为模型赋予外部知识。今天,我们将深入探讨三种超越传统 RAG 的方法,它们克服了传统 RAG 的一些问题,例如检索数据的质量、答案的准确性以及在特定领域中的低性能。由于多模态和智能体系统是 2025 年 AI 领域的主要焦点之一,我们将探讨以下几种 RAG 类型:1) HtmlRAG,直接处理 HTML 版本的文本;2) 多模态 RAG,可以检索图像信息;以及 3) Agentic RAG,它将智能体能力融入 RAG 技术。那么,让我们开始探索吧!
📨 点击关注!如果你想直接在收件箱中接收我们的文章,请在此订阅
在本期节目中,我们将讨论
传统 RAG 的局限性
RAG 系统将检索机制与生成式 AI 模型相结合,以提供更准确或上下文相关的回答。然而,像任何技术一样,它也有一些局限性,例如:
- 对检索信息质量的依赖: 回答的有效性严重依赖于所检索文档的质量、相关性和偏见。如果检索步骤失败,生成的输出可能不正确。
- 标准 RAG 无法检索各种类型的信息,例如 HTML 文本、图像和视频。
- 检索与查询不匹配: 系统可能无法将用户查询与检索到的文档中的正确上下文对齐。
- 标准 RAG 在跨多个来源搜索和检索,或处理文档中的复杂结构方面存在困难。
- 可扩展性延迟问题: 在大型知识库中搜索可能会引入延迟,特别是当检索系统未优化时。
- RAG 系统在上下文和细微差别至关重要的高度专业化领域中可能表现不佳。
- 计算资源: 处理大型数据集进行检索的计算成本可能很高,需要大量的存储和处理能力。
研究人员创建了不同的升级版 RAG 系统和方法来克服这些问题。我们将讨论的 RAG 类型主要解决了检索信息质量和多样性以及查询与检索之间不匹配的限制。女士们先生们,请看 HtmlRAG、多模态 RAG 和 Agentic RAG。
什么是 HtmlRAG?
HtmlRAG 的核心思想
许多 RAG 系统,包括 ChatGPT 和 Perplexity 等工具使用的系统,都将网络作为外部信息的重要来源。
其通常的工作方式如下:这些系统搜索网页,收集网页结果,将内容提取为纯文本,然后将其输入到大型语言模型(LLM)中,以帮助其生成更好的答案。然而,这种纯文本可能会丢失网页中的许多有用细节,例如标题、表格和其他结构信息。
为了解决这个问题,来自百川智能科技和中国人民大学的研究人员引入了 HtmlRAG,它使用原始 HTML 格式而不是纯文本。
这种方法有什么优点?
- 现代 LLM 能够很好地理解 HTML,这就是为什么我们能够有效地实现这种 RAG 类型。
- HTML 能更好地保留内容的结构和含义。许多文档格式(如 PDF 或 Word 文件)也可以轻松转换为 HTML,使其成为一种灵活的选择。
然而,这有一个问题。HTML 充满了额外的标签、JavaScript 和样式,这些都包含不必要的数据,并且可能过长。因此,研究人员也提出了针对这些问题的特殊技术。让我们来分析一下所有这些方面是如何协同工作的。
HtmlRAG 如何工作?
HtmlRAG 直接使用 HTML 来保留原始内容的更多结构和含义,从而跳过了将数据转换为纯文本的步骤。HtmlRAG 工作过程的主要部分是 HTML 清理和剪枝技术:
HTML 清理
此步骤会删除不相关的内容,简化结构,并将文档大小减少到原始长度的 6%。其步骤包括:
- 剥离不增加价值的 CSS 样式、JavaScript 和注释。
- 通过合并冗余标签(例如,合并嵌套的 <div> 标签)来简化 HTML 结构。
- 删除空标签或不相关标签。
HtmlRAG 的清理将 token 数量减少了 94.07%,而纯文本减少了 96.71%,Markdown 减少了 90.32%。
HTML 剪枝
此步骤根据用户的查询进一步减小清理后 HTML 的大小,同时只保留最相关的部分。此步骤更为复杂,包括两个不同的剪枝步骤,并使用“块树”方法对 HTML 的各个部分进行分组和排名。
块树是如何构建的?
所有检索到的 HTML 文档都被合并为一个进行处理。这个合并后的文档使用 Beautiful Soup 等工具转换为 DOM 树。然后,子节点被合并到它们的父节点中以形成块。每个块的大小由一个设置控制,例如每个块的最大单词数。树的粒度(详细程度)可以根据剪枝需求进行调整,以确保树既不太详细也不太粗糙。为了有效衡量数据相关性,块树被转换为令牌树,其中 HTML 标签和令牌都用颜色编码。然后通过组合令牌概率来导出块分数。
剪枝过程分为两步,都使用这种块树结构
步骤 1:使用嵌入模型进行剪枝
此步骤使用一个轻量级嵌入模型来识别和移除 HTML 文档中不太相关的部分。其工作原理如下:
- 每个 HTML 块的文本都使用嵌入模型的相似度分数与用户查询进行比较。
- 相关性分数较低的块将被删除,直到文档符合 LLM 的输入限制。
- 剪枝后,剩余的 HTML 结构将被清理,以移除冗余标签或空元素。
虽然这种方法快速有效,可以减小文档大小,但它不考虑整体文档结构,因为它孤立地评估每个块。它也难以处理非常小的块,因为这些块没有足够的文本来准确确定相关性。所以,接下来是第二步。
步骤 2:使用生成模型进行细粒度剪枝
它用于通过生成模型进一步优化 HTML,同时考虑文档的完整结构。通常,生成模型可以一次处理整个文档上下文,不像嵌入模型。它们更擅长识别块及其内容之间细微的关系。那么它是如何工作的呢?
- 该过程从步骤 1 中清理过的 HTML 开始,将块扩展为更细粒度的部分。
- 生成模型根据每个文档小块与用户查询的对齐程度进行评分。分数通过分析每个块的标签“路径”计算得出。(例如:<html><div><p>。
- 分数较低的块将被删除,以确保剩余的 HTML 既紧凑又有意义。
为了优化此过程,HtmlRAG 使用令牌跳过方法,模型会跳过 HTML 结构中重复或可预测的部分,以节省计算资源,并采用深度优先遍历技术来重用之前计算的数据,以减少冗余并加快速度。
HTML 剪枝将平均 token 数量从 1.6M 减少到 4K,同时保持相关性。它还跳过 45% 的节点,最大限度地减少了成本增加,同时保持了效率。
局限性
尽管 HtmlRAG 中使用的技术显示出良好的结果,但仍然存在一些局限性
- HtmlRAG 高度依赖结构良好的 HTML 输入,这意味着在处理不完整或结构不良的页面时,其性能会下降。
- 多源挑战:系统在整合来自多个源的信息时,可能难以理解或适当权衡上下文。
- 特定领域限制:对于 HTML 页面不符合典型结构的利基或高度专业化领域,HtmlRAG 可能会表现不佳。
然而,尽管存在这些局限性,HtmlRAG 通过处理更复杂的文本格式有效地提高了检索准确性。但是,如果添加图像信息,它会进一步提高 RAG 的性能吗?
什么是多模态 RAG?
多模态 RAG 的主要思想
在多模态模型不断发展的时代,显然我们需要能够处理多模态数据的 RAG 技术。谷歌研究公司在 2022 年通过 MuRAG 方法(提醒一下,你可以在下面的资源部分找到所有链接)探讨了多模态 RAG 的概念。最近关于这种 RAG 类型的研究是由信息与语言处理中心和西门子股份公司进行的。他们测试了两种从技术和工业文档中处理和检索图像信息的方法。主要问题是:多模态 RAG 方法是否比仅使用文本的 RAG 更有效?
多模态 RAG 如何工作?
首先,我们需要定义如何从 PDF 等文档中处理和检索图像信息。研究人员提出了两种变体
- 多模态嵌入:此方法直接将图像的视觉内容与文本查询关联起来。其工作原理如下:
- 图像和问题都使用 CLIP 工具转换为嵌入。
- 计算相似度以查找与问题最相关的图像。
- 检索到的图像随后被 AI 模型用于答案生成。
- 图像文本摘要:将图像转换为文本可以更好地与基于文本的 RAG 管道集成,并降低检索过程中信息丢失的风险。以下是工作流程
- 图像摘要作为文本嵌入并存储在向量数据库中。
- 当提出问题时,系统检索最相关的文本摘要,并将其与原始图像一起传递给 AI 模型。
现在,让我们探讨如何结合文本和图像信息来创建多模态 RAG。对此 RAG 类型测试了两种配置
- 独立向量存储
文本块存储在一个向量数据库中,而图像嵌入存储在另一个向量数据库中。系统在两个数据库中执行相似性搜索。检索到的文本和图像数据被组合并传递给 AI 模型以生成答案。
这种方法将文本和图像数据分开,从而可以独立优化每种模态。
- 组合向量存储
将图像转换为文本摘要,并与文档(PDF)中的文本块结合。两者都作为文本嵌入并存储在单个向量数据库中。然后,在组合数据库中执行单个相似性搜索,检索文本和图像派生的摘要。AI 模型检索这些组合信息以回答问题。
将所有内容存储在一个数据库中可以简化检索过程,并确保文本和图像信息的一致处理。
多模态 RAG 的性能如何?
实验表明,结合文本和图像比单独使用文本或图像具有更好的性能。事实证明,图像的文本摘要比多模态嵌入更灵活有效。
然而,多模态 RAG 存在一些局限性:
- 对 LLM 的依赖引入了典型的 LLM 问题,例如不准确、幻觉以及复杂多模态输入的挑战。
- 缺乏公开可用的特定领域数据集限制了研究结果的可复现性和泛化能力,开发此类数据集对于未来的改进至关重要。目前这种方法不是特定领域的,但可以扩展到其他领域。
总体结果证明,赋予 RAG 多模态能力对 RAG 系统的有效性具有良好影响。
但是,与多模态能力同样重要的智能体能力又如何呢?
什么是 Agentic RAG?
智能体系统正在兴起,它们需要所有元素都更加智能体化。这就是为什么许多 AI 研究人员正在探索 Agentic RAG 的概念,以构建更高效的系统。今天我们想探讨 Hugging Face 的 Agentic RAG 变体,以阐明这种系统的工作原理。
Agentic RAG 解决了什么问题?
在本期节目中,我们强调了标准 RAG 的局限性,现在我们将重新审视其中一些与查询和检索不匹配以及检索数据质量相关的问题。关于这些局限性,我们还能说些什么呢?
- 用户查询通常以问题的形式编写,但知识库中的文档可能以不同的方式表达相同的信息,这种不匹配会降低检索质量。
- 如果初始检索未命中目标,则生成的响应很可能不准确或不完整。
这就是 Agentic RAG 的用武之地。它通过赋予系统类似于智能体的能力来增强 RAG,这意味着它可以
- 重新表述查询:将用户问题转换为更符合相关文档结构的、适合检索的陈述。
- 批判并重试检索:评估检索结果,识别不足或不相关之处,并调整查询后重试。
Agentic RAG 如何工作?
与传统 RAG 系统一样,RAG Agent 使用语义相似度查询向量数据库。其工作原理如下:
代理首先将用户的查询转换为适合检索的语句。它接受肯定形式的查询而非问题形式的查询,以改善文档对齐。例如
用户查询:“如何将模型上传到 Hub?”
重新表述的查询:“将模型上传到 Hub。”
使用初始查询,Agentic RAG 根据嵌入相似性在数据库中搜索最相关的 top-k 文档。
返回检索到的内容以进行进一步分析。如果检索到的结果不足或不相关,代理会对其进行批判并生成新的查询。此过程重复进行,直到检索到足够的信息或达到预设限制。
一旦代理对检索到的上下文满意,它会将信息与用户查询结合起来,并将其传递给 LLM 以生成最终响应。
Agentic RAG 有什么优点?
它更自主,可以尝试使用语义不同的查询进行检索,从而增加找到正确信息的可能性。这显著提高了准确性和完整性,特别是对于复杂的、特定领域的问题。代理设置将标准 RAG 的性能提高了 14%,证明了查询重构和迭代检索的价值。
局限性
构建 Agentic RAG 系统虽然有益,但也带来了一些问题,例如
- 与标准 RAG 系统相比,设置和执行增加了复杂性。
- 通过增加查询重构和迭代检索步骤,增加了计算开销。
- 对 LLM 性能的依赖: 系统的质量严重依赖于语言模型生成准确和上下文相关重构查询和答案的能力。
- 评估局限性: 自动化评估依赖于基于 LLM 的判断,这可能会引入偏见。因此,人工评估对于更可靠的评估仍然至关重要。
结论
我们探讨了三种 RAG 系统,它们在检索信息质量、整体效率和准确性方面增强了标准 RAG。当你需要处理具有复杂结构的文档时,HtmlRAG 可以保留文本的所有关键结构,节省资源。在多模态时代,我们无法想象人工智能领域在不处理图像的情况下如何发展,而多模态 RAG 在这种情况下是一个必不可少的工具。Agentic RAG 是另一个层次的系统,可以将 RAG 提升到自主性和准确性的新水平。随着人工智能模型的发展,RAG 技术也随之发展,我们将持续关注新的突破。
作者:Alyona Vert 编辑:Ksenia Se
深入研究的资源(你也可以关注这些组织和作者)
- HtmlRAG:在 RAG 系统中,HTML 建模检索知识优于纯文本 作者:Jiejun Tan 等
- MuRAG:用于图像和文本开放问题回答的多模态检索增强生成器 作者:Google 研究院
- 超越文本:优化多模态输入的 RAG 用于工业应用 作者:Monica Riedler 和 Stefan Langer
- CLIP:连接文本和图像 作者:OpenAI
- Agentic RAG:通过查询重构和自查询来加速你的 RAG! 作者:Aymeric Roucher (Hugging Face)
- Agentic RAG 教程 作者:Cohere
来源自 Turing Post
- 12 种检索增强生成(RAG)类型
- 16 种新型检索增强生成(RAG)
- 主题 3:什么是图 RAG 方法?
- 主题 9:什么是推测性 RAG?
- 主题 12:什么是混合 RAG?
- 7 门免费课程,助你精通 RAG
📨 如果您想直接在收件箱中收到我们的文章,请在此订阅