仓库: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的第一步,是把文档拆成"原子内容单元":
其中 \(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}\),抽取出细粒度实体和关系:
每个非文本单元关联一个多模态实体节点 \(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在查询、文本上下文、视觉内容三者上联合条件生成:
三、实验验证:长文档上的压倒性优势
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_plot、caption_provides_context、subfigure_relates_hierarchically。这引导检索器聚焦正确的panel,避免被相邻panel混淆。
案例2:财务表格导航
查询需要在多时间期、多相似术语的表格中找到"Wages and salaries"行与"2020"列的交叉单元格(26,778 million)。
RAG-Anything将表格转为结构化图:row header、column header、data cell、unit均为节点。边捕获 row-of、column-of、header-applies-to、unit-of 关系。这实现了精确导航,而基线方法把表格当线性文本处理,常常混淆数值区间和年份。
五、与相关工作的关系
与LightRAG:RAG-Anything是LightRAG的模态扩展。LightRAG的文本图构建和双层级检索思想被继承,但扩展到全模态。论文明确将LightRAG列为基线并超越之。
与MMGraphRAG:MMGraphRAG只增加了基础图像处理,把表格和公式当纯文本处理,丢失了结构信息。RAG-Anything的双图策略保留了所有模态的结构关系。
与VisRAG:VisRAG保留文档布局为图像,但缺少细粒度关系建模。
与VideoRAG:VideoRAG处理视频模态,RAG-Anything处理文档模态,两者互补。
六、局限与未来方向
论文附录坦诚指出了两个根本性问题:
-
文本中心检索偏差:即使查询明确要求视觉信息,系统仍偏好文本源。这暴露了跨模态注意力的根本弱点。
-
文档结构处理挑战:复杂布局和非线性信息流仍是难点。合并单元格、边界不清的表格仍会导致错误。
这两个问题不是边缘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生态
八、追问
-
MLLM描述生成的可靠性:非文本单元依赖MLLM生成描述,若描述本身存在幻觉,错误会传播到图构建和检索全程。论文未量化描述质量对最终性能的影响。
-
双图合并的实体对齐精度:实体名称匹配作为对齐键,在缩写、同义词、跨语言场景下是否足够鲁棒?论文未深入讨论对齐错误的传播效应。
-
计算成本:相比LightRAG,RAG-Anything增加了MLLM调用(每非文本单元两次)、双图构建、跨模态重排序。在长文档场景下,索引构建成本是否会成为部署瓶颈?
-
模态扩展性:公式模态用LaTeX表示,表格用结构化cell,这些表示在新模态(如3D模型、代码块、交互式图表)上的泛化性如何?
-
与端到端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 条回复推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。