RAG-Anything 如何实现多模态文档处理?2026年安装配置指南
AIAI Summary (BLUF)
RAG-Anything 是基于LightRAG的轻量级RAG系统,专为多模态文档处理(PDF、图片、表格、公式等)设计。它提供端到端解析与多模态理解能力。
RAG-Anything: 面向复杂文档的全面多模态 RAG 系统
RAG-Anything 如何实现多模态文档处理?2026年安装配置指南
RAG-Anything 简介
RAG-Anything 是一个基于轻量级 LightRAG 框架构建的 RAG 系统,专为处理多模态文档(PDF、图片、表格、公式等)而设计。该系统能够无缝处理和查询包含文本、图像、表格、公式等多模态内容的复杂文档,提供完整的端到端 RAG 解决方案。
使用场景
RAG-Anything 是以下场景的绝佳选择:
包含图表、表格和公式的文档:需要多模态支持的研究论文、报告、PPT。
端到端解决方案:用户只需输入原始文档,系统自动完成从文档解析到查询响应的全过程,无需人工干预。
大量文档处理:具备并行处理能力,可高效处理多个文档。
RAG-Anything 核心亮点
系统架构

RAG-Anything 的系统架构分为以下几个阶段与功能:
1. 📄 文档解析阶段
通过高精度解析平台,系统实现了多模态元素的完整识别与提取。
核心功能 | 描述 |
|---|---|
结构化提取引擎 | 集成 MinerU 和 Docling,用于文档结构识别和多模态内容提取 |
自适应内容分解 | 智能分离文本、图像、表格和公式,同时保持语义关联 |
多格式兼容性 | 支持 PDF、Office 文档、图片等主流格式的统一解析与输出 |
2. 🧠 多模态内容理解与处理
通过自主分类路由机制和并发多流水线架构,实现了内容的高效并行处理。
核心功能 | 描述 |
|---|---|
内容分类与路由 | 将不同类型的内容发送到优化的处理通道 |
并发多流水线 | 并行处理文本和多模态数据,兼顾效率与完整性 |
文档层级保留 | 在转换过程中保持原始文档层级和元素关系 |
3. 🧠 多模态分析引擎
系统针对异构数据类型设计了模态感知处理单元。
核心功能 | 描述 |
|---|---|
视觉内容分析器 | 图像识别、语义描述生成、空间关系解析 |
结构化数据解释器 | 表格分析、趋势识别、多表语义依赖提取 |
数学表达式解析器 | 高精度公式解析,集成 LaTeX |
可扩展模态处理器 | 支持动态集成新模态类型的插件架构 |
4. 🔍 多模态知识图谱索引
将文档内容转化为结构化语义表示,并建立跨模态关系。
核心功能 | 描述 |
|---|---|
多模态实体提取 | 将重要元素转换为知识图谱节点 |
跨模态关系映射 | 建立文本与多模态组件之间的语义连接 |
层级结构保留 | 保持原始文档的组织结构 |
加权关系评分 | 通过语义和上下文加权优化检索 |
5. 🎯 模态感知检索
通过向量搜索与图遍历算法实现内容检索与排序。
核心功能 | 描述 |
|---|---|
向量-图融合 | 结合语义嵌入与结构关系,实现全面检索 |
模态感知排序 | 根据查询类型动态调整结果优先级 |
关系一致性维护 | 确保检索结果的语义和结构一致性 |

安装与设置
安装 RAG-Anything 及其扩展
# 从 GitHub 克隆项目
git clone https://github.com/HKUDS/RAG-Anything.git
# 进入项目目录
cd RAG-Anything
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
.\venv\Scripts\Activate.ps1
# 安装基础依赖
pip install -e .
# 安装扩展依赖
pip install -e '.[all]'
验证 MinerU 安装(安装 RAG-Anything 时会自动安装 MinerU)
mineru --version # 检查 MinerU 版本
python -c "from raganything import RAGAnything; rag = RAGAnything(); print('✅ MinerU 安装成功' if rag.check_parser_installation() else '❌ MinerU 安装失败')"
运行官方示例
以下 API 密钥需要使用 OpenAI 的凭证。请从 OpenAI 官网获取 API 密钥,或根据教程自行配置 API 和模型设置。
# 端到端处理
python examples/raganything_example.py path/to/document.pdf --api-key YOUR_API_KEY --parser mineru
# 直接模态处理
python examples/modalprocessors_example.py --api-key YOUR_API_KEY
# Office 文档解析测试(仅 MinerU)
python examples/office_document_test.py --file path/to/document.docx
# 图片格式解析测试(仅 MinerU)
python examples/image_format_test.py --file path/to/image.bmp
# 文本格式解析测试(仅 MinerU)
python examples/text_format_test.py --file path/to/document.md
# 检查 LibreOffice 安装
python examples/office_document_test.py --check-libreoffice --file dummy
# 检查 PIL/Pillow 安装
python examples/image_format_test.py --check-pillow --file dummy
# 检查 ReportLab 安装
python examples/text_format_test.py --check-reportlab --file dummy
使用教程(以 SiliconFlow 为例)
导入依赖
import asyncio
from raganything import RAGAnything, RAGAnythingConfig
from raganything.modalprocessors import ImageModalProcessor, TableModalProcessor, GenericModalProcessor
from lightrag import LightRAG
from lightrag.llm.openai import openai_complete_if_cache, openai_embed
from lightrag.utils import EmbeddingFunc
import os
API 和 RAGAnything 配置
请在硅基流动官网注册账号并获取您的 API 密钥。
硅基流动的 base-url 是固定的:https://api.siliconflow.cn/v1
async def main():
# 设置 API 配置
api_key = "your api key" # 填写您的 API 密钥
base_url = "https://api.siliconflow.cn/v1" # 填写基础 URL
# 创建 RAGAnything 配置
config = RAGAnythingConfig(
working_dir="./rag_storage",
parser="mineru", # 选择解析器:mineru 或 docling
parse_method="auto", # 解析方法:auto、ocr 或 txt
enable_image_processing=True,
enable_table_processing=True,
enable_equation_processing=True,
)
定义 LLM 模型函数
请选择您想要的模型名称。
# 定义 LLM 模型函数
def llm_model_func(prompt, system_prompt=None, history_messages=[], **kwargs):
return openai_complete_if_cache(
"THUDM/GLM-4.1V-9B-Thinking", # 填写模型名称
prompt,
system_prompt=system_prompt,
history_messages=history_messages,
api_key=api_key,
base_url=base_url,
**kwargs,
)
定义视觉模型函数
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



