RAG-Anything 是由 HKUDS 开发的一款 All-in-One 多模态 RAG 框架,基于 LightRAG 构建,旨在解决传统文本中心 RAG 系统难以有效处理现代文档中多样化多模态内容(文本、图像、表格、公式、图表和多媒体)的问题。该框架作为统一解决方案,消除了对多个专用工具的需求,能够在单一集成框架内实现所有内容模态的无缝处理与查询。
用途方面,RAG-Anything 适用于处理包含交错文本、视觉图表、结构化表格和数学公式的混合内容文档,特别适用于学术研究、技术文档、财务报告和企业知识管理等场景。用户可以通过统一的界面对这些复杂文档进行查询。
主要能力包括:端到端多模态流水线,涵盖从文档摄取、解析到智能多模态问答的完整工作流;通用文档支持,可处理 PDF、Office 文档、图片及多种文件格式;专用内容分析,针对图像、表格、数学公式和异构内容类型设有专门处理器;多模态知识图谱,支持自动实体抽取和跨模态关系发现;自适应处理模式,支持基于 MinerU 的解析或直接多模态内容注入工作流;直接内容列表插入,可绕过文档解析直接插入外部预解析内容列表;混合智能检索,支持跨文本和多模态内容的高级搜索,并具备上下文理解能力。
在算法与架构上,RAG-Anything 实现了多阶段多模态流水线。文档解析阶段通过 MinerU 集成提供高保真文档结构提取,自适应内容分解自动将文档分割为连贯的文本块、视觉元素、结构化表格、数学公式等,并保留上下文关系。多模态内容理解与处理阶段采用并发多流水线架构,自动分类和路由内容类型。多模态分析引擎部署了模态感知处理单元,包括视觉内容分析器(集成视觉模型生成上下文感知描述)、结构化数据解释器(对表格数据进行统计分析)、数学表达式解析器(支持 LaTeX 格式)以及可扩展模态处理器(通过插件架构支持新模态)。多模态知识图谱索引模块将文档内容转换为结构化语义表示,包括多模态实体抽取、跨模态关系映射和层次结构保留。模态感知检索结合向量相似性搜索与图遍历算法,实现模态感知排序与关系一致性维护。
使用方式上,RAG-Anything 提供三种查询方法:纯文本查询(直接使用 LightRAG 进行知识库搜索)、VLM 增强查询(自动分析检索上下文中的图像)和多模态查询(针对特定多模态内容进行增强查询)。对于已有预解析内容列表的场景,可以直接插入 RAGAnything 而无需文档解析。内容列表格式要求每项为字典,包含文本、图像、表格、公式、通用、音频、视频等类型。安装方面,项目支持 pip 安装,可选依赖包括图像处理(需 Pillow)和文本处理(需 ReportLab)。Office 文档处理需要安装 LibreOffice,MinerU 模型首次使用时自动下载。文本索引方面,process_document_complete() 和 insert_content_list() 在 LightRAG 索引文档文本完成后才返回,若索引失败且无重试,会抛出 RuntimeError。文本块页面标注基于 LightRAG 默认分块器重放,非文本搜索,可能因自定义分块函数或分词器而缺失。
限制方面,部分功能依赖外部工具(如 LibreOffice 用于 Office 文档处理),部分后端对文本块页面字段的支持可能因存储模式而异。