当前位置: 首页 > news >正文

PDF内容提取,MinerU使用

准备环境

# python 3.10
python3 -m pip install huggingface_hub
python3 -m pip install modelscope
python3 -m pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com

下载需要的模型

import json
import osimport requests
from huggingface_hub import snapshot_download
# from modelscope import snapshot_download  # 下载'opendatalab/PDF-Extract-Kit-1.0' 快def download_json(url):# 下载JSON文件response = requests.get(url)response.raise_for_status()  # 检查请求是否成功return response.json()def download_and_modify_json(url, local_filename, modifications):if os.path.exists(local_filename):data = json.load(open(local_filename))config_version = data.get('config_version', '0.0.0')if config_version < '1.0.0':data = download_json(url)else:data = download_json(url)# 修改内容for key, value in modifications.items():data[key] = value# 保存修改后的内容with open(local_filename, 'w', encoding='utf-8') as f:json.dump(data, f, ensure_ascii=False, indent=4)if __name__ == '__main__':mineru_patterns = ["models/Layout/LayoutLMv3/*","models/Layout/YOLO/*","models/MFD/YOLO/*","models/MFR/unimernet_small/*","models/TabRec/TableMaster/*","models/TabRec/StructEqTable/*",]model_dir = snapshot_download('opendatalab/PDF-Extract-Kit-1.0', allow_patterns=mineru_patterns)layoutreader_pattern = ["*.json","*.safetensors",]layoutreader_model_dir = snapshot_download('hantian/layoutreader', allow_patterns=layoutreader_pattern)model_dir = model_dir + '/models'print(f'model_dir is: {model_dir}')print(f'layoutreader_model_dir is: {layoutreader_model_dir}')json_url = 'https://github.com/opendatalab/MinerU/raw/master/magic-pdf.template.json'config_file_name = 'magic-pdf.json'home_dir = os.path.expanduser('~')config_file = os.path.join(home_dir, config_file_name)json_mods = {'models-dir': model_dir,'layoutreader-model-dir': layoutreader_model_dir,}download_and_modify_json(json_url, config_file, json_mods)print(f'The configuration file has been configured successfully, the path is: {config_file}')

测试

wget https://github.com/opendatalab/MinerU/raw/master/demo/small_ocr.pdf -O small_ocr.pdf
magic-pdf -p small_ocr.pdf -o ./output

在这里插入图片描述

GPU加速

vim yourpath/magic-pdf.json
"device-mode": "cpu" -> "device-mode": "cuda",
http://www.lryc.cn/news/488499.html

相关文章:

  • SpringCloud篇(服务网关 - GateWay)
  • 自动化测试之unittest框架详解
  • Vue3 provide 和 inject的使用
  • 掌握Git分布式版本控制工具:从基础到实践
  • AndroidStudio与开发板调试时连接失败或APP闪退的解决方案,涉及SELINUX及获取Root权限
  • VMWARE虚拟交换机的负载平衡算法
  • 安卓InputDispatching Timeout ANR 流程
  • 【Nginx从入门到精通】03 、安装部署-让虚拟机可以联网
  • java 增强型for循环 详解
  • 浪潮云启操作系统(InLinux) bcache宕机问题分析
  • 038集——quadtree(CAD—C#二次开发入门)
  • 备赛蓝桥杯--算法题目(1)
  • 机器学习100道经典面试题库(二)
  • Unet++改进37:添加KACNConvNDLayer(2024最新改进方法)
  • 基于 Levenberg - Marquardt 法的 BP 网络学习改进算法详解
  • MySQL 8.0与PostgreSQL 15.8的性能对比
  • qt连接postgres数据库时 setConnectOptions函数用法
  • MySQL45讲 第二十七讲 主库故障应对:从库切换策略与 GTID 详解——阅读总结
  • JavaWeb笔记整理——Spring Task、WebSocket
  • 基于SpringBoot+RabbitMQ完成应⽤通信
  • Flutter踩坑记录(一)debug运行生成的项目,不能手动点击运行
  • React的hook✅
  • 2024.5 AAAiGLaM:通过邻域分区和生成子图编码对领域知识图谱对齐的大型语言模型进行微调
  • 从熟练Python到入门学习C++(record 6)
  • jenkins的安装(War包安装)
  • WPS 加载项开发说明wpsjs
  • 【Anomaly Detection论文阅读记录】PaDiM与PatchCore模型的区别与联系
  • uni-app Vue3语法实现微信小程序样式穿透uview-plus框架
  • K8S基础概念和环境搭建
  • [服务器] 腾讯云服务器免费体验,成功部署网站