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

【MinerU】:一款将PDF转化为机器可读格式的工具——RAG加强(Docker版本)

目录

创建容器

安装miniconda

安装mineru

CPU运行

GPU加速

多卡问题


创建容器

构建Dockerfile文件

开启ssh服务,设置密码为1234等操作

# 使用官方 Ubuntu 24.04 镜像
FROM ubuntu:24.04# 安装基础工具和SSH服务
RUN apt-get update && \apt-get install -y --no-install-recommends \openssh-server \vim \curl \net-tools \iputils-ping && \rm -rf /var/lib/apt/lists/*# 配置SSH
RUN mkdir -p /var/run/sshd && \echo 'root:1234' | chpasswd && \sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config# 暴露SSH端口
EXPOSE 22# 启动SSH守护进程
CMD ["/usr/sbin/sshd", "-D"]

将Dockerfile文件构建为镜像

docker build -t ubuntu_lfl .

启动一个docker容器

 docker run -d   --name mineru-1   --restart=unless-stopped --gpus '"device=0"'  -v /mnt/LTSDataset:/mnt/LTSDataset   -v /mnt/Share400T:/mnt/Share400T  -p 9999:22   ubuntu_lfl:latest 

安装miniconda

连接进入容器

可以使用ssh或者vscode或者xshell等

安装wget

apt update && apt install wget -y

下载miniconda安装的运行脚本

 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh

运行脚本

 bash miniconda.sh -b -p ~/miniconda3

环境变量生效

source ~/.bashrc

用查看版本来验证是否安装成功

conda --version

安装mineru

创建一个py10的conda环境

conda create -n mineru python=3.10

进入环境

conda activate mineru

安装相关的包

pip install -U "magic-pdf[full]" --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple

安装modelscope,用来下载模型的(也可以自己下)

pip install modelscope

下载使用modelscope包下载模型的python运行脚本

wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py

运行python脚本(可以自己写)

python download_models.py

验证安装

 magic-pdf -v

CPU运行

上传了一个pdf文件

magic-pdf -p /root/olb_ug-1.7r0.pdf -o /root/outputs -m auto

运行报错,缺少了一些图像处理的包

安装对应的包

apt-get update && apt-get install -y libgl1 libglib2.0-0

成功启动

结果如下

运行时间

8:52-11:05 共 73分钟

GPU加速

将用户目录下的magic-pdf.json文件修改为 (原来是cpu)

"device-mode":"cuda"

运行时间为3分钟

GPU加速的效果确实很好

多卡问题

使用其官方镜像运行发现也不会多卡加速

所以对于多张卡的用户就授予不同的GPU权限,分开跑,比如我可以四个docker容器分别跑。

http://www.xdnf.cn/news/1661.html

相关文章:

  • Linux:git和gdb/cgdb
  • Qwen2.5简要全流程以及QA
  • 基于 CentOS 的 Docker Swarm 集群管理实战指南
  • 推理模型不需要思考,伯克利新研究推翻AI刻板印象
  • 机器学习(8)——主成分分析
  • 基于单片机的游泳馆智能管理系统
  • 【网络】TCP/IP协议学习
  • Kafka 命令行样例大全
  • 【记录手贱bug日常】IDEA 配置vmoptions后打不开,重新安装,删注册表均无用
  • 软考:数值转换知识点详解
  • 矩阵系统源码搭建账号分组功能开发全流程解析,支持OEM
  • 图论---朴素Prim(稠密图)
  • 如何在 Vue 3 中实现一个自定义的 `v-html` 组件
  • 蓝桥杯嵌入式系统设计:高效编程与调试方法全解析
  • 基于大模型的食管平滑肌瘤全周期预测与诊疗方案研究
  • 解释器模式:自定义语言解析与执行的设计模式
  • nodejs之Express-介绍、路由
  • 《逃离云端束缚,拥抱GPT本地部署》
  • 深度学习-数值稳定性和模型初始化
  • ZooKeeper配置优化秘籍:核心参数说明与性能优化
  • 实时数字人——DH_LIVE
  • 矩阵运算和线性代数操作开源库
  • Unreal Niagara制作SubUV贴图翻页动画
  • 实现营销投放全流程自动化 超级汇川推出信息流智能投放产品“AI智投“
  • DDD领域驱动与传统CRUD
  • 缓存集群技术深度解析:从原理到实战
  • 数据结构-排序
  • C#基于Sunnyui框架和MVC模式实现用户登录管理
  • PH热榜 | 2025-04-24
  • 【网络应用程序设计】实验四:物联网监控系统