ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">MinerU:AI时代的文档解析利器ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;color: rgb(63, 63, 63);">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 0.1em auto 0.5em;border-radius: 4px;" title="null"/>ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;font-style: normal;padding: 1em;border-radius: 6px;color: rgba(0, 0, 0, 0.5);background: rgb(247, 247, 247);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;display: block;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在大语言模型和RAG应用蓬勃发展的今天,高质量的文档解析工具成为构建知识库的关键一环。本文将为您详细介绍由上海人工智能实验室开发的开源工具MinerU,带您了解其部署流程和使用方法,助力您的AI应用开发。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">? MinerU简介ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">MinerU是一款一站式、开源、高质量的数据提取工具,由上海人工智能实验室OpenDataLab团队开发,诞生于InternLM大模型的预训练过程中。它主要包含两个核心组件:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);">•ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Magic-PDF:专注于PDF文档的高质量提取ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);">
作为一款为RAG(检索增强生成)应用场景量身打造的工具,MinerU能够将包含图片、表格、公式等复杂元素的多模态PDF文档转化为结构化的Markdown或JSON格式,极大地提升了AI语料准备的效率。
? 核心特性
文档处理能力
- • ✂️智能清理:自动删除页眉、页脚、脚注、页码等干扰元素
- • 结构保留:完整保留原文档的标题、段落、列表等结构
- • 多模态支持:精准提取图像、图片描述、表格及表格标题
- • 公式转换:自动识别并将文档中的公式转换为LaTeX格式
- • 表格处理:将表格转换为HTML格式,保留结构信息
技术优势
- • ?多平台支持:兼容Windows、Linux和Mac操作系统
- • 灵活部署:支持纯CPU环境,也可通过GPU/NPU加速
- • 多语言支持:OCR功能支持84种语言的检测和识别
- • 多种输出:支持Markdown、JSON等多种输出格式
? 部署指南
系统要求
- •操作系统:Windows 10/11、Linux(2019年后版本)、macOS 11+
- •Python版本:3.10(强烈建议使用conda创建虚拟环境)
部署步骤
1. 创建Python虚拟环境
# 创建名为MinerU的Python 3.10环境
conda create -n MinerU python=3.10
# 激活环境
conda activate MinerU
2. 安装MinerU
# 安装CPU版本(适合快速测试)
pip install magic-pdf[full-cpu] --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# 验证安装版本
magic-pdf --version
⚠️ 注意:请确保安装的版本不低于0.6.x,如果版本较低,可能需要更新pip源或提交issue反馈。
3. 下载模型文件
方法一:从Hugging Face下载(国际用户推荐)
pip install huggingface_hub
curl -o download_models_hf.py https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models_hf.py
python download_models_hf.py
方法二:从ModelScope下载(国内用户推荐)
pip install modelscope
curl -o download_models.py https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py
python download_models.py
提示:下载完成后,系统会自动在用户目录下生成magic-pdf.json配置文件,并记录模型存储位置。
4. 配置文件设置
在用户目录中找到magic-pdf.json文件,确保正确配置模型路径:
{
"models-dir":"C:/Users/用户名/.cache/modelscope/hub/models/opendatalab/PDF-Extract-Kit-1___0/models",
"device-mode":"cpu"
}
⚠️ 重要提示:Windows系统中路径需要使用正斜杠"/"而非反斜杠"",否则会因转义问题导致配置文件语法错误。
5. GPU加速配置(可选)
如果您拥有NVIDIA显卡(显存≥8GB),可以配置CUDA加速:
# 安装支持CUDA 11.8的PyTorch版本
pip install --force-reinstall torch==2.3.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cu118
然后修改配置文件中的device-mode:
{
"device-mode":"cuda"
}
? 使用指南
命令行使用
基本用法
# 处理单个PDF文件
magic-pdf -p"your_file.pdf"-o"output_directory"-m auto
# 查看帮助
magic-pdf --help
常用参数说明
- •
-p, --path:输入文件路径或目录(必需) - •
-o, --output-dir:输出目录(必需) - •
-m, --method:解析方法,可选值为ocr、txt或auto(默认)
通过API调用
本地文件处理
image_writer = DiskReaderWriter(local_image_dir)
image_dir =str(os.path.basename(local_image_dir))
jso_useful_key = {"_pdf_type":"","model_list": model_json}
pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)
pipe.pipe_classify()
pipe.pipe_parse()
md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")
对象存储使用
s3pdf_cli = S3ReaderWriter(pdf_ak, pdf_sk, pdf_endpoint)
image_dir ="s3://img_bucket/"
s3image_cli = S3ReaderWriter(img_ak, img_sk, img_endpoint, parent_path=image_dir)
pdf_bytes = s3pdf_cli.read(s3_pdf_path, mode=s3pdf_cli.MODE_BIN)
jso_useful_key = {"_pdf_type":"","model_list": model_json}
pipe = UNIPipe(pdf_bytes, jso_useful_key, s3image_cli)
? 应用场景
RAG应用构建
MinerU在RAG(检索增强生成)应用中扮演着关键角色,它能够:
- • 将PDF文档转换为结构化文本,便于向量化和检索
学术研究支持
对于研究人员,MinerU可以:
- • 将复杂公式转换为LaTeX格式,便于引用和分析
企业知识库建设
在企业环境中,MinerU能够:
? 性能对比
与市面上其他PDF解析工具相比,MinerU在以下方面表现突出:
? 使用技巧
- 1.选择合适的解析方法:对于文本可提取的PDF,使用txt模式更快;对于扫描版PDF,使用ocr模式;不确定时使用auto模式。
- 2.优化性能:将模型文件存储在SSD上可显著提升处理速度。
- 3.批量处理:使用目录作为输入路径可批量处理多个文件。
- 4.GPU加速:对于大量文档处理,建议配置GPU加速,可提升10倍以上的处理速度。
- 5.结果验证:处理完成后,检查输出目录中的markdown文件和图像,确认解析质量。
未来展望
MinerU作为一款开源工具,正在持续发展中。未来可期待的方向包括: