MinerU介绍安装
MinerU 介绍文档:PDF文档智能解析的开源利器
概述
MinerU 是由 OpenDataLab 开发的一款开源、多功能、高精度的 PDF 文档数据提取工具。它专为将非结构化的 PDF 文档(如学术论文、技术报告、财务报表等)转化为结构化的数据格式而设计,支持文本、图像、表格、数学公式等多模态内容的精准提取,并能保持原始文档的层级结构与语义信息。
MinerU 基于 PaddleOCR 和先进的文档理解模型,具备强大的多语言识别能力和智能内容清理功能,是构建知识库、实现文档数字化、支持 RAG(检索增强生成)系统开发的理想工具。
核心功能与特点概览
下表详细总结了 MinerU 的主要功能、技术特点、应用场景及使用优势:
类别 | 功能/特点 | 详细说明 |
---|---|---|
核心功能 | 文本提取 | 精准提取 PDF 中的纯文本内容,支持多种字体、排版和复杂布局。 |
图像提取 | 自动识别并提取文档中的图片,保留原始分辨率和位置信息,支持批量导出。 | |
表格识别 | 集成 RapidTable 引擎,实现表格结构的高精度还原,支持复杂合并单元格、跨页表格等。识别速度提升 10 倍,资源占用更低。 | |
数学公式识别 | 自动识别 LaTeX 数学公式并转换为标准 LaTeX 代码,适用于科研论文、教材等含公式文档。 | |
多语言 OCR | 基于 PaddleOCR,支持 84 种语言的文字识别,包括中、英、日、韩、法、德、俄、阿拉伯语等,满足国际化文档处理需求。 | |
智能处理 | 智能清理 | 自动移除页眉、页脚、页码、水印等干扰内容,提升提取结果的纯净度。 |
结构保持 | 完整保留文档的标题层级(H1, H2, H3…)、段落顺序、列表结构等,输出内容逻辑清晰。 | |
自动语言检测 | 支持 auto 模式自动识别文档语言,对于混合语言文档也能有效处理。 | |
技术优势 | 多种解析模式 | 支持 auto (自动选择)、ocr (强制 OCR)、txt (直接提取文本)三种解析模式,适应不同质量的 PDF 文件。 |
GPU 加速支持 | 支持 CUDA 加速,显存 ≥8GB 时可显著提升布局分析(layout detection)和公式识别(MFR)速度(提速 10 倍以上)。 | |
OCR GPU 加速 | 通过安装 paddlepaddle-gpu 可启用 OCR 阶段的 GPU 加速,大幅缩短处理时间。 | |
跨平台兼容 | 支持 Windows、Linux、macOS 等主流操作系统,可通过 Conda 环境管理,安装部署简单。 | |
输出与集成 | 多格式输出 | 支持输出 JSON(结构化模型数据)、Markdown(可读性强)、图片文件夹等多种格式,便于后续处理与展示。 |
Python API 支持 | 提供完整的 Python API,支持自定义处理流程,可轻松集成到自动化脚本或数据处理管道中。 | |
在线体验平台 | 提供 HuggingFace 和 ModelScope 上的在线测试版,无需安装即可体验核心功能。 | |
应用场景 | 学术研究 | 批量提取论文数据、构建文献知识库、分析实验图表。 |
金融与商业 | 提取财务报表、合同、商业报告中的关键数据,实现自动化分析。 | |
文档数字化 | 将纸质文档或扫描件转化为可编辑、可搜索的数字资产。 | |
RAG 与 AI 应用 | 为大语言模型(LLM)提供高质量的上下文输入,构建企业知识库、智能客服系统等。 | |
内容分析平台 | 支持对大量技术文档、行业报告进行结构化处理,便于搜索、摘要和趋势分析。 | |
使用建议 | 大文件处理 | 建议启用 GPU 加速,控制并发数,使用生成器处理大文件以优化内存。 |
输出优化 | 可压缩图片、选择合适输出格式、使用增量保存避免数据丢失。 | |
语言指定 | 对于单一语言文档,手动指定 --lang 参数(如 ch 中文)可提高识别准确率。 |
快速使用示例
1. 安装命令
使用pip或uv安装MinerU
pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
pip install uv -i https://mirrors.aliyun.com/pypi/simple
uv pip install -U "mineru[core]" -i https://mirrors.aliyun.com/pypi/simple
2. 使用
最简单的命令行调用方式:
# 默认使用pipeline后端解析
mineru -p <input_path> -o <output_path>
vlm后端另外支持vllm加速,与transformers后端相比,vllm的加速比可达20~30倍
# 或指定vlm后端解析
mineru -p <input_path> -o <output_path> -b vlm-transformers
使用docker安装
1. MinerU提供了便捷的docker部署方式,这有助于快速搭建环境并解决一些棘手的环境兼容问题。
使用 Dockerfile 构建镜像
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/Dockerfile
docker build -t mineru-vllm:latest -f Dockerfile .
2. 通过 Docker Compose 直接启动服务
# 下载 compose.yaml 文件
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/compose.yaml
3. 启动 Gradio WebUI 服务
使用最简单的是启动 Gradio WebUI,有页面,可以直接上传文档进行转换
docker compose -f compose.yaml --profile gradio up -d
然后就可以在浏览器中访问 http://<server_ip>:7860 使用 Gradio WebUI了。不需要再做其它的配置。
疑问
-
需要配置大模型吗?
启动的Gradio WebUI 默认启用了大模型,而且是MinerU自带的模型,不需要另外配置模型了。
具体的可以查看compose.yaml文件,对配置做一些调整 -
使用docker可以启动Gradio webUI, web api服务,vllm-server 服务;他们最终启动的都是同一个模型。 启动Gradio WebUI 或者Web api服务后,不再需要单独启动vllm-server服务,使用的时候,他们会自带启动vllm模型。
参考:
https://opendatalab.github.io/MinerU/zh/