香港大学数据智能实验室(HKUDS)开源了 RAG-Anything,一个针对多模态文档设计的全能 RAG 框架,目前 GitHub Stars 已达 16,000 以上,近期位居 Python 项目每日趋势榜。
问题:传统 RAG 处理不好非文本内容
现代文档的内容远比纯文本复杂。学术论文里有公式和图表,财务报告里有结构化表格,技术手册里有架构图和代码块。企业知识库里各种格式共存。
传统 RAG 系统的设计前提是:文档就是文本,把文本切块、向量化、检索。这个假设在面对多模态文档时会导致大量信息流失:
- 图片中的内容无法被索引(或被丢弃)
- 表格的结构关系被平铺成文字,语义损失严重
- 数学公式的精确表达难以被文本向量捕捉
RAG-Anything 的核心目标:把图像、表格、公式、文字等多种模态的内容统一放入一个可查询的知识库。
架构:专门处理器 + 多模态知识图谱
RAG-Anything 建立在 HKUDS 的 LightRAG 之上,核心新增了两层能力:
专门的内容处理器:
每种内容类型有专门的处理路径,而不是简单地将所有内容转成文字:
- 文本:标准的 RAG 处理流程
- 图像:通过 VLM(视觉语言模型)做增强查询,把视觉内容和文字上下文结合理解
- 表格:结构化理解,保留行列关系
- 数学公式:LaTeX 解析,保留精确的数学语义
- 混合内容:支持同一文档内各种类型交织出现
多模态知识图谱:
跨模态的关系不只是"这张图在这段话旁边",而是"这个图里的数据和这段分析文字描述的是同一个概念"。RAG-Anything 通过自动实体提取和跨模态关系发现,构建一个覆盖所有内容类型的知识图谱,让检索时能跨越模态找到相关信息。
两种处理路径
根据文档来源的不同,RAG-Anything 提供两套 Pipeline:
MinerU 解析路径:从原始文件(PDF、Office 文档、图像)出发,通过 MinerU 解析器提取各类内容,然后经专门处理器处理后入库。适合从零开始构建知识库。
直接内容注入路径:绕过文档解析,直接将外部系统已经预解析好的内容列表插入。适合已有文档处理流程的系统集成场景。
支持格式与使用场景
支持的输入格式:PDF、Office 文档(Word/Excel/PowerPoint)、图像格式。
典型适用场景:
- 学术研究:需要查询包含大量公式、图表的论文集合
- 技术文档:硬件手册、API 文档中的表格和代码块
- 财务分析:年报、研报中的财务数据表格
- 企业知识管理:混合格式内部文档的统一检索
技术报告与生态
RAG-Anything 已于 2025 年 10 月发布技术报告(arxiv 2510.12323)。系统提供 Python SDK,pip install rag-anything 直接安装,附带快速启动文档。
项目 GitHub 链接:https://github.com/HKUDS/RAG-Anything