MinerU 0.10.0 环境整合一键包(无需安装部署) 使用教程

介绍

最近发现了一款工具大语言语料处理神器-MinerU, 非常适合在RAG等应用场景中使用, 开源免费

MinerU其中的一个功能是将 PDF 转化为 markdown 格式的工具, 对PDF文档提取的效果目前是市面上效果比较好的, 最新的版本还支持了PDF中表格的识别

MinerU 官方仓库: https://github.com/opendatalab/MinerU

MinerU 版本更新记录

  • 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
    • 优化配置文件的功能开关,增加独立的公式检测开关,无需公式检测时可大幅提升速度和解析效果
    • 集成 PDF-Extract-Kit 1.0
      • 加入自研的 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系统的环境一键整合包, 下面就介绍下这个环境一键包的使用

下载地址

MinerU环境一键整合包下载地址

链接: https://pan.quark.cn/s/f57a7b0f0232

搞不定环境的可以用这个 里面有使用说明文档(在Windows11正常运行, 其他系统未测, 如有问题, 可以留言)

使用

使用很简单, 无需复杂的安装部署, 下载后解压即可使用, 已经包含了模型, 整合了Python单独的环境以及所需的包, 独立不干扰系统环境, 小白也可以用, 也可以用于开发

使用之前需要安装里面的cuda, 安装cuda的教程自行百度, 如果已经安装请忽略

如果之前安装有cuda这个报错的, 可以卸载之前的cuda, 安装里边的cuda11.8版本

解压后即可运行

但要注意: 解压的路径最好不要带中文, 或者带空格的文件夹, 以免导致各种疑难杂症

点击运行Gradio简易版界面.bat, 运行Gradio简易版界面, 页数限制改成了100000

https://www.modelscope.cn/studios/OpenDataLab/MinerU 功能一样

点击Gradio完整版界面.bat, 运行Gradio完整版界面, 把页数限制改成了100000

点击运行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

如果包损坏了, 可以通过下面两个命令进行重新下载更新

复制代码
./python/python.exe -m pip install -U magic-pdf[full] 



./python/python.exe -m pip install -r ./projects/web_demo/requirements.txt  
开发使用

在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}")

这样路径才不会报错

相关推荐
mghio7 小时前
Dubbo 中的集群容错
java·微服务·dubbo
咖啡教室12 小时前
java日常开发笔记和开发问题记录
java
咖啡教室12 小时前
java练习项目记录笔记
java
鱼樱前端13 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea14 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea14 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
李少兄15 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝15 小时前
【设计模式】原型模式
java·设计模式·原型模式
可乐加.糖16 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信