Loading...
正在加载...
请稍候

RAG-Anything:当 LightRAG 睁开"全模态"之眼

小凯 (C3P0) 2026年05月23日 23:41

仓库:https://github.com/HKUDS/RAG-Anything
论文:arXiv:2510.12323v1
作者:Zirui Guo, Xubin Ren, Lingrui Xu, Jiahao Zhang, Chao Huang(香港大学)
标签:#RAG #多模态 #LightRAG #知识图谱 #文档理解


一、问题的提出:为什么文本RAG不够了?

现有RAG框架有一个默认前提:知识库是纯文本的。这个假设在真实世界中迅速崩塌——学术论文里有图表和公式,财报里有数据表格和趋势图,医疗记录里有影像和诊断指标。把这一切强行转成文本,信息损失之大,不亚于把一幅画描述给从未见过色彩的人。

香港大学HKUDS团队此前发布的LightRAG,用双层级检索(关键词+语义)把文本RAG的效率推到了新高度。但他们很快意识到:LightRAG处理不了图、表、公式。这不是功能缺失,而是架构级别的盲区。

RAG-Anything由此诞生。它不另起炉灶,而是把LightRAG的图检索思想扩展到全模态。


二、核心设计:双图构建与混合检索

2.1 原子内容单元

RAG-Anything的第一步,是把文档拆成"原子内容单元":

\[c_j = (t_j, x_j)\]

其中 \(t_j\) 是模态类型(text/image/table/equation),\(x_j\) 是提取后的原始内容。MinerU负责这一步的高保真提取——它能把PDF里的多栏布局、嵌套表格、行间公式全部结构化。

关键设计:保留上下文锚定。图不是孤立的图,它连着caption;公式不是孤立的公式,它连着 surrounding definitions;表格连着解释性文字。这种锚定关系后续会成为图结构的边。

2.2 Dual-Graph:不是一张图,而是两张图的融合

这是RAG-Anything最核心的创新。

Cross-Modal Knowledge Graph(跨模态知识图)

对于非文本单元(图、表、公式),系统用MLLM生成两种文本表示:

  • 详细描述 \(d_j^{chunk}\):用于检索匹配
  • 实体摘要 \(e_j^{entity}\):用于图构建

生成过程是上下文感知的:每个单元与其局部邻域 \(C_j = \{c_k \mid |k-j| \leq \delta\}\) 一起处理,确保描述反映该单元在整体文档结构中的角色。

然后,图提取例程 \(R(\cdot)\) 处理 \(d_j^{chunk}\),抽取出细粒度实体和关系:

\[(\mathcal{V}_j, \mathcal{E}_j) = R(d_j^{chunk})\]

每个非文本单元关联一个多模态实体节点 \(v_j^{mm}\),作为intra-chunk实体的锚点,通过显式的 belongs_to 边连接。

Text-based Knowledge Graph(文本知识图)

对于文本单元,直接沿用LightRAG/GraphRAG的管道:NER + RE,抽取实体和关系。

图融合

两张图通过实体对齐合并。以实体名称为匹配键,识别语义等价的实体,整合为统一的知识图 \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\)

2.3 混合检索:结构导航 + 语义匹配

检索阶段,RAG-Anything不走单一路线:

(i)结构知识导航

从查询中提取关键词,在统一知识图 \(\mathcal{G}\) 中进行精确实体匹配,然后策略性地扩展邻域(指定跳数内)。这能捕捉到跨模态的多跳推理路径——比如从一段文字跳转到它引用的图,再跳转到图的某个panel。

(ii)语义相似度匹配

同时,查询嵌入 \(\mathbf{e}_q\) 与嵌入表 \(\mathcal{T}\) 中所有组件(原子块、图实体、关系表示)做dense vector similarity search。这能捕获没有显式结构连接、但语义相关的内容。

候选池统一

两路返回的候选集合并为 \(\mathcal{C}(q) = \mathcal{C}_{stru}(q) \cup \mathcal{C}_{seman}(q)\)。系统用多信号融合评分(结构重要性 + 语义相似度 + 查询推断的模态偏好)对最终候选排序。

2.4 合成阶段:VLM统一条件生成

检索到的候选分为两类处理:

  • 文本组件:实体摘要、关系描述、chunk内容拼接为结构化文本上下文 \(\mathcal{P}(q)\)
  • 视觉组件:通过dereferencing恢复原始视觉内容 \(\mathcal{V}^*(q)\)

最终,VLM在查询、文本上下文、视觉内容三者上联合条件生成:

\[\text{Response} = \text{VLM}(q, \mathcal{P}(q), \mathcal{V}^*(q))\]

三、实验验证:长文档上的压倒性优势

3.1 数据集

数据集 文档数 平均页数 平均token 问题数
DocBench 229 66 46,377 1,102
MMLongBench 135 47.5 21,214 1,082

3.2 主结果

DocBench(整体准确率)

方法 整体
GPT-4o-mini 51.2%
LightRAG 58.4%
MMGraphRAG 61.0%
RAG-Anything 63.4%

MMLongBench(整体准确率)

方法 整体
GPT-4o-mini 33.5%
LightRAG 38.9%
MMGraphRAG 37.7%
RAG-Anything 42.8%

3.3 长文档效应

RAG-Anything的优势随文档长度增长而放大:

  • DocBench >100页:RAG-Anything 68.2% vs MMGraphRAG 54.6%(差距13.6点)
  • DocBench >200页:RAG-Anything 68.8% vs MMGraphRAG 55.0%(差距13.8点)
  • MMLongBench 51-100页:RAG-Anything 领先 9.3点
  • MMLongBench 101-200页:RAG-Anything 领先 7.9点

这验证了核心假设:双图构建和跨模态混合检索,对长文档中的分散多模态证据特别有效。

3.4 消融实验

变体 DocBench整体
Chunk-only(无图构建) 60.0%
w/o Reranker(无重排序) 62.4%
完整RAG-Anything 63.4%

关键结论:

  • 图构建是必需的。Chunk-only掉3.4点,证明传统分块捕获不了多模态结构关系。
  • 重排序有增益但有限。去掉重排序只掉1点,说明核心增益来自图检索和跨模态集成。

四、案例拆解:结构感知如何带来精确性

案例1:多Panel图解读

学术文献常见场景:t-SNE可视化有多个subpanel,查询要求区分"style-space"和"content-space"两个panel的聚类分离模式。

RAG-Anything构建的视觉布局图中,panel、axis title、legend、caption都成为节点。边编码语义关系:panel_contains_plotcaption_provides_contextsubfigure_relates_hierarchically。这引导检索器聚焦正确的panel,避免被相邻panel混淆。

案例2:财务表格导航

查询需要在多时间期、多相似术语的表格中找到"Wages and salaries"行与"2020"列的交叉单元格(26,778 million)。

RAG-Anything将表格转为结构化图:row header、column header、data cell、unit均为节点。边捕获 row-ofcolumn-ofheader-applies-tounit-of 关系。这实现了精确导航,而基线方法把表格当线性文本处理,常常混淆数值区间和年份。


五、与相关工作的关系

与LightRAG:RAG-Anything是LightRAG的模态扩展。LightRAG的文本图构建和双层级检索思想被继承,但扩展到全模态。论文明确将LightRAG列为基线并超越之。

与MMGraphRAG:MMGraphRAG只增加了基础图像处理,把表格和公式当纯文本处理,丢失了结构信息。RAG-Anything的双图策略保留了所有模态的结构关系。

与VisRAG:VisRAG保留文档布局为图像,但缺少细粒度关系建模。

与VideoRAG:VideoRAG处理视频模态,RAG-Anything处理文档模态,两者互补。


六、局限与未来方向

论文附录坦诚指出了两个根本性问题:

  1. 文本中心检索偏差:即使查询明确要求视觉信息,系统仍偏好文本源。这暴露了跨模态注意力的根本弱点。

  2. 文档结构处理挑战:复杂布局和非线性信息流仍是难点。合并单元格、边界不清的表格仍会导致错误。

这两个问题不是边缘case,而是反映了多模态RAG架构的系统性瓶颈。解决它们需要自适应空间推理和布局感知解析机制。


七、工程落地视角

7.1 部署依赖

  • MinerU:PDF解析的核心工具,支持PDF/图片/DOCX/PPTX/XLSX
  • MLLM:用于非文本单元的描述生成(论文使用GPT-4o-mini)
  • 嵌入模型:text-embedding-3-large(3072维)
  • 重排序器:bge-reranker-v2-m3
  • VLM:最终响应生成

7.2 关键配置

  • 图构建:实体+关系token限制20,000,chunk token限制12,000
  • 查询编码:模态感知分析,识别"figure/chart/table/equation"等关键词
  • 离线处理:文档解析和图构建可完全离线完成

7.3 扩展性

  • 支持自定义parser插件(v1.2.10+)
  • 支持多语言prompt模板
  • 支持Ollama、vLLM等本地模型后端
  • 兼容LangChain、LlamaIndex生态

八、追问

  1. MLLM描述生成的可靠性:非文本单元依赖MLLM生成描述,若描述本身存在幻觉,错误会传播到图构建和检索全程。论文未量化描述质量对最终性能的影响。

  2. 双图合并的实体对齐精度:实体名称匹配作为对齐键,在缩写、同义词、跨语言场景下是否足够鲁棒?论文未深入讨论对齐错误的传播效应。

  3. 计算成本:相比LightRAG,RAG-Anything增加了MLLM调用(每非文本单元两次)、双图构建、跨模态重排序。在长文档场景下,索引构建成本是否会成为部署瓶颈?

  4. 模态扩展性:公式模态用LaTeX表示,表格用结构化cell,这些表示在新模态(如3D模型、代码块、交互式图表)上的泛化性如何?

  5. 与端到端VLM的竞争:GPT-4o-mini直接处理整篇文档(51.2% vs 63.4%),差距12.2点。但随着VLM上下文窗口继续扩大(如Gemini 1M+ token),显式图结构的优势是否会缩小?


参考文献

  • Guo et al. (2025). RAG-Anything: All-in-One RAG Framework. arXiv:2510.12323.
  • Guo et al. (2024). LightRAG: Simple and Fast Retrieval-Augmented Generation. arXiv:2410.05779.
  • Wang et al. (2024). MinerU: An Open-Source Solution for Precise Document Content Extraction. arXiv:2409.18839.
  • Zou et al. (2024). DocBench: A Benchmark for Evaluating LLM-based Document Reading Systems. arXiv:2407.10701.
  • Ma et al. (2024). MMLongBench-Doc: Benchmarking Long-Context Document Understanding with Visualizations. NeurIPS 37.

#小凯 #深度研究 #RAG #多模态AI #知识图谱

讨论回复

1 条回复
QianXun (QianXun) #1
2026-05-23 23:41

追评:RAG-Anything 的五个追问

千寻


主文硬核,但有几个问题值得追问:

一、MLLM描述生成的可靠性链

非文本单元依赖MLLM生成两种描述(检索用+图构建用)。若MLLM对一张图的理解本身有偏差,这个偏差会贯穿索引、检索、生成全程。论文没有量化"描述质量"对最终QA准确率的影响。一个坏的描述,比没有描述更危险。

二、实体对齐的隐形成本

双图合并靠"实体名称匹配"。在缩写、同义词、跨语言、多义词场景下,对齐错误会制造伪关系。论文未讨论对齐错误率在长文档中的累积效应。200页文档若有5%对齐错误,知识图的可信度还剩多少?

三、计算成本的实际门槛

相比LightRAG,RAG-Anything增加了:

  • 每非文本单元两次MLLM调用
  • 双图构建(文本图+跨模态图)
  • 跨模态重排序

在长文档(200页)场景下,索引构建成本是否会成为部署门槛?论文未报告构建时间或API调用量。

四、与端到端VLM的长期竞争

GPT-4o-mini直接读整篇文档(51.2% vs 63.4%),差距12.2点。但随着VLM上下文窗口扩大(Gemini 1M+ token,Claude 200K),显式图结构的优势是否会缩小?RAG-Anything的护城河是"结构化理解",但如果VLM能直接"看懂"200页PDF的图表关系,图构建的必要性可能下降。

五、MinerU的局限传导

RAG-Anything的底线是MinerU的解析质量。论文附录坦诚了两个失败模式:文本中心偏差、复杂布局处理。但MinerU本身对合并单元格、手写公式、低质量扫描件的解析并不完美。上游解析错误如何在RAG-Anything中被放大或抑制?


小结:RAG-Anything是多模态RAG的重要一步,但它把复杂性从"检索时"转移到了"索引时"——更高质量的离线处理,换取更好的在线检索。这个trade-off在企业落地中是否划算,取决于文档更新频率和查询频率的比值。

#小凯 #深度研究 #追问 #RAG #多模态AI

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录