介绍
最近发现了一款工具大语言语料处理神器-MinerU, 非常适合在RAG等应用场景中使用, 开源免费
MinerU其中的一个功能是将 PDF 转化为 markdown 格式的工具, 对PDF文档提取的效果目前是市面上效果比较好的, 最新的版本还支持了PDF中表格的识别
MinerU 官方仓库: https://github.com/opendatalab/MinerU
官方历史更新记录:
2025/01/22 1.1.0 发布,在这个版本我们重点提升了解析的精度与效率:
模型能力升级(需重新执行模型下载流程以获得模型文件的增量更新)
- 布局识别模型升级到最新的
doclayout_yolo(2501)
模型,提升了layout识别精度 - 公式解析模型升级到最新的
unimernet(2501)
模型,提升了公式识别精度
- 布局识别模型升级到最新的
性能优化
- 在配置满足一定条件(显存16GB+)的设备上,通过优化资源占用和重构处理流水线,整体解析速度提升50%以上
解析效果优化
- 在线demo(mineru.net/huggingface/modelscope)上新增标题分级功能(测试版本,默认开启),支持对标题进行分级,提升文档结构化程度
2025/01/10 1.0.1 发布,这是我们的第一个正式版本,在这个版本中,我们通过大量重构带来了全新的API接口和更广泛的兼容性,以及全新的自动语言识别功能:
全新API接口
- 对于数据侧API,我们引入了Dataset类,旨在提供一个强大而灵活的数据处理框架。该框架当前支持包括图像(.jpg及.png)、PDF、Word(.doc及.docx)、以及PowerPoint(.ppt及.pptx)在内的多种文档格式,确保了从简单到复杂的数据处理任务都能得到有效的支持。
- 针对用户侧API,我们将MinerU的处理流程精心设计为一系列可组合的Stage阶段。每个Stage代表了一个特定的处理步骤,用户可以根据自身需求自由地定义新的Stage,并通过创造性地组合这些阶段来定制专属的数据处理流程。
更广泛的兼容性适配
- 通过优化依赖环境和配置项,确保在ARM架构的Linux系统上能够稳定高效运行。
- 深度适配华为昇腾NPU加速,积极响应信创要求,提供自主可控的高性能计算能力,助力人工智能应用平台的国产化应用与发展。NPU加速教程
自动语言识别
- 通过引入全新的语言识别模型, 在文档解析中将
lang
配置为auto
,即可自动选择合适的OCR语言模型,提升扫描类文档解析的准确性。
- 通过引入全新的语言识别模型, 在文档解析中将
2024/11/22 0.10.0发布,通过引入混合OCR文本提取能力,
- 在公式密集、span区域不规范、部分文本使用图像表现等复杂文本分布场景下获得解析效果的显著提升
- 同时具备文本模式内容提取准确、速度更快与OCR模式span/line区域识别更准的双重优势
- 2024/11/15 0.9.3发布,为表格识别功能接入了RapidTable,单表解析速度提升10倍以上,准确率更高,显存占用更低
- 2024/11/06 0.9.2发布,为表格识别功能接入了StructTable-InternVL2-1B模型
2024/10/31 0.9.0发布,这是我们进行了大量代码重构的全新版本,解决了众多问题,提升了性能,降低了硬件需求,并提供了更丰富的易用性:
- 重构排序模块代码,使用 layoutreader 进行阅读顺序排序,确保在各种排版下都能实现极高准确率
- 重构段落拼接模块,在跨栏、跨页、跨图、跨表情况下均能实现良好的段落拼接效果
- 重构列表和目录识别功能,极大提升列表块和目录块识别的准确率及对应文本段落的解析效果
- 重构图、表与描述性文本的匹配逻辑,大幅提升 caption 和 footnote 与图表的匹配准确率,并将描述性文本的丢失率降至接近0
- 增加 OCR 的多语言支持,支持 84 种语言的检测与识别,语言支持列表详见 OCR 语言支持列表
- 增加显存回收逻辑及其他显存优化措施,大幅降低显存使用需求。开启除表格加速外的全部加速功能(layout/公式/OCR)的显存需求从16GB降至8GB,开启全部加速功能的显存需求从24GB降至10GB
- 优化配置文件的功能开关,增加独立的公式检测开关,无需公式检测时可大幅提升速度和解析效果
- 加入自研的
doclayout_yolo
模型,在相近解析效果情况下比原方案提速10倍以上,可通过配置文件与layoutlmv3
自由切换 - 公式解析升级至
unimernet 0.2.1
,在提升公式解析准确率的同时,大幅降低显存需求 - 因
PDF-Extract-Kit 1.0
更换仓库,需要重新下载模型,步骤详见 如何下载模型
- 加入自研的
- 2024/09/27 0.8.1发布,修复了一些bug,同时提供了在线demo的本地化部署版本和前端界面
- 2024/09/09 0.8.0发布,支持Dockerfile快速部署,同时上线了huggingface、modelscope demo
- 2024/08/30 0.7.1发布,集成了paddle tablemaster表格识别功能
- 2024/08/09 0.7.0b1发布,简化安装步骤提升易用性,加入表格识别功能
- 2024/08/01 0.6.2b1发布,优化了依赖冲突问题和安装文档
- 2024/07/05 首次开源
装环境相对麻烦, 为此我制作了Windows系统的环境一键包, 下面就介绍下环境一键包的使用
(在Windows11正常运行, 其他系统未测, 如有问题, 可以留言)
下载地址
MinerU环境一键包下载地址 (含历史版本)
链接: https://pan.quark.cn/s/b2c126e2dcdd
搞不定环境的可以用这个 里面有使用说明文档
下载后解压即可
使用之前需要安装里面的cuda, 安装cuda的教程自行百度, 如果已经安装请忽略
如果之前安装有cuda这个报错的, 可以卸载之前的cuda, 安装里边的cuda11.8版本
使用
解压后即可运行
点击运行gradio版.bat
运行gradio网页版
和 https://www.modelscope.cn/studios/OpenDataLab/MinerU 功能一样
点击运行web版.bat
运行web网页版
功能和 https://opendatalab.com/OpenSourceTools/Extractor/PDF 一样
文件说明
目录python为嵌入版的环境, 已经安装了所有依赖
想深入使用, 可以配合官方说明文档使用, 下面是一些简要说明
magic-pdf.json
为配置文件, 使用的方式和官方一样
small_ocr.pdf
为测试用pdf文件
app.py
为gradio网页在线版 和 https://www.modelscope.cn/studios/OpenDataLab/MinerU 功能一样
运行方式, 在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令
./python/python.exe app.py
demo.py
为官方运行示例
运行方式, 在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令
./python/python.exe demo.py
如果要对Python环境里边的包进行操作的, 将原有的
pip install xxx
换成
./python/python.exe -m pip install xxx
就可以了
扩展使用
命令行使用
官方的命令使用
magic-pdf -p {some_pdf} -o {some_output_dir} -m auto
在MinerU目录右键启动cmd, 或者启动cmd切换到MinerU目录, 运行下列命令
./python/Scripts/magic-pdf.exe -p {some_pdf} -o {some_output_dir} -m auto
例如
./python/Scripts/magic-pdf.exe -p small_ocr.pdf
或者路径填magic-pdf.exe所在的绝对路径, 例如
G:/MinerU/python/Scripts/magic-pdf.exe -p small_ocr.pdf
开发使用
在pycharm里环境变量填python/python.exe
所在目录
更新版本
更新命令
./python/python.exe -m pip install --upgrade magic-pdf
更新后需修改文件
python/Lib/site-packages/magic_pdf/libs/config_reader.py
把13-14行红框替换为如下代码
# 获取当前目录
current_dir = os.getcwd()
print("当前目录为: ", current_dir)
# 定义配置文件名常量
CONFIG_FILE_NAME = os.path.join(current_dir, "magic-pdf.json")
print("配置路径为: ", CONFIG_FILE_NAME)
在69行最用红框处插入如下代码
models_dir = os.path.join(current_dir, models_dir)
print(f"模型目录为: {models_dir}")
这样路径才不会报错
疑难解答
如运行遇到报错, 最好留言附带电脑配置信息(例如 i7-11800H, 内存16G, 显卡RTX 3060 12G ), 所用系统(如Win11Win10等), 显卡驱动版本, 方便帮忙排查
加个微信,可以吗 WJC05026 安装后启动不了,请教一下