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作为一款开源工具,正在持续发展中。未来可期待的方向包括: |