Ubuntu 22.04 一键部署MinerU1.1.0

news/2025/2/22 1:35:04

MinerU

MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中,我们将会集中精力解决科技文献中的符号转化问题,希望在大模型时代为科技发展做出贡献。 相比国内外知名商用产品MinerU还很年轻,如果遇到问题或者结果不及预期请到issue提交问题,同时附上相关PDF

创建一键部署mineru 自动化脚本

  • 以下测试是在CPU模式下进行
  • 以下测试是在Ubuntu 22.04 ,以下自动化脚本支持其它系统 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12)
  • mineru 安装参考官网
  • conda 国内下载 官网下载
  • magic-pdf 命令使用参考
vim /root/MinerU_install.bash
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2025/02/20

# 系统支持 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12)

# install minerU 参考
# https://mineru.readthedocs.io/zh-cn/latest/user_guide/install/install.html#id3

# magic-pdf 使用参考
#https://mineru.readthedocs.io/zh-cn/latest/user_guide/quick_start/command_line.html

conda_prefix=/root/anaconda3

install_basics() {
 
# Check if the script is being run as root
if [ "$(id -u)" != "0" ]; then
  echo "This script must be run as root."
  exit 1
fi
 
if [[ -f /etc/os-release ]]; then
  OS=$(cat /etc/*release* | grep "^ID=" | cut -d'=' -f2- | tr -d '"')
  VERSION=$(awk -F= '/VERSION_ID/{print $2}' /etc/os-release | tr -d '"') 
  #VERSION=$( grep -oE 'VERSION_ID="[^"]+"' /etc/os-release | cut -d'"' -f2)  
 
else
  echo -e "\033[31mThis script only supports $OS $VERSION...\033[0m"
  exit 1
fi
 
# Check the mineru version
if ! [ -d "$conda_prefix" ]; then
  echo -e "\033[32m Installing mineru for $OS $VERSION...\033[0m"
  case $VERSION in
 
# CentOS/RedHat/oracle/RockLinux/AlmaLinux 8 install 
   8|8.1|8.2|8.3|8.4|8.5|8.6|8.7|8.8|8.9|8.10)
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
	yum install -y net-tools wget curl
	yum install -y mesa-libGL

	# install mineru
	install_mineru
   ;;
 
# CentOS/RedHat/oracle/RockLinux/AlmaLinux 9 install
  9.0|9.1|9.2|9.3|9.4|9.5|9.6|9.7|9.8|9.9|9.10) 
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
	yum install -y net-tools wget curl
	yum install -y mesa-libGL
	
	# install mineru
	install_mineru
   ;;

# CentOS/RedHat/oracle/RockLinux/AlmaLinux 10 install
  10.0|10.1|10.2|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10)  
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
	yum install -y net-tools wget curl
	yum install -y mesa-libGL

	# install mineru
	install_mineru
   ;;
   
# openEuler 20,22,23,24 Linux install
   20.03|22.03|23.03|24.03) 
	echo "add epel repo"
	openEuler_epel_repo
	
	echo Installing basics...
	yum install -y net-tools wget curl
	yum install -y mesa-libGL

	# install mineru
	install_mineru
   ;;
   
# ubuntu 20,21,22,23,24 Linux install
   20.04|21.04|22.04|23.04|24.04)
	echo Installing basics...
	apt update
	
	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install libgl1-mesa-glx"
	apt-get update
	apt-get install -y libgl1-mesa-glx

	# install mineru
	install_mineru
   ;;
  
# Debian 10,11.12
  10|11|12)
	echo Installing basics...
	apt update

	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install libgl1-mesa-glx"
	apt-get update
	apt-get install -y libgl1-mesa-glx

	# install mineru
	install_mineru
   ;;
    *)
	
    echo -e "\033[31m Unsupported $OS $VERSION...\033[0m" 
    exit 1
    ;;
esac
	
    echo -e "\033[32m mineru for $OS $VERSION successfully installed...\033[0m"
else
    echo -e "\033[33m mineru for $OS $VERSION already installed...\033[0m"
fi
 
}

# Obtain the system version number
VERSION_ID=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -d'=' -f2 | tr -d '"')

# openEuler 20.03 22.03 23.03 24.03 add epel 8,9
openEuler_epel_repo (){

if [[ $VERSION_ID =~ ^2[2-4]\.03$ ]]; then
    repo_version=9
elif [[ $VERSION_ID == 20.03 ]]; then
    repo_version=8
fi

echo "openEuler add epel repo"
cat <<EOF>>/etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://dl.fedoraproject.org/pub/epel/${repo_version}/Everything/x86_64/
enabled=1
gpgcheck=0
priority=1
EOF
}

# install mineru
install_mineru (){

echo "install anaconda"
wget -N -P /root/ -U NoSuchBrowser/1.0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
bash /root/Anaconda3-2024.06-1-Linux-x86_64.sh -b -p /root/anaconda3
echo 'export PATH=/root/anaconda3/bin:$PATH' >>  ~/.bashrc
echo 'export PATH=/root/anaconda3/etc/profile.d:$PATH' >>  ~/.bashrc
source ~/.bashrc

echo "install python3.10 MinerU"
conda create -n MinerU python=3.10 -y
source /root/anaconda3/etc/profile.d/conda.sh
conda activate MinerU
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple

echo "Download the model weight file"
pip install modelscope
wget https://gitee.com/myhloli/MinerU/raw/master/scripts/download_models.py -O download_models.py
python download_models.py

#echo "Download the model weight file"
#pip install huggingface_hub
#wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models_hf.py -O download_models_hf.py
#python download_models_hf.py
#!

echo "test magic-pdf"
source /root/anaconda3/etc/profile.d/conda.sh
conda activate MinerU

# 安装完成后进行转换使用
#magic-pdf -p '/root/test.pdf' -o '/root/output' -m auto
}

main (){
	install_basics
}
 
main

执行一键部署mineru

  • 大概需要70分钟左右,实际需要看自己的网络了
bash /root/MinerU_install.bash

magic-pdf 转换

  • magic-pdf 命令参考
  • Xmanager Power Suite 8.0.0005连接工具
source /root/anaconda3/etc/profile.d/conda.sh
conda activate MinerU
magic-pdf -p '/root/test.pdf' -o '/root/output' -m auto

正在转换

转换完成,实际时间根据自己的硬件情况


http://www.niftyadmin.cn/n/5861497.html

相关文章

VSCode集成deepseek使用介绍(Visual Studio Code)

VSCode集成deepseek使用介绍&#xff08;Visual Studio Code&#xff09; 1. 简介 随着AI辅助编程工具的快速发展&#xff0c;VSCode作为一款轻量级、高度可扩展的代码编辑器&#xff0c;已成为开发者首选的工具之一。DeepSeek作为AI模型&#xff0c;结合Roo Code插件&#x…

后端开发:开启技术世界的新大门

在互联网的广阔天地中&#xff0c;后端开发宛如一座大厦的基石&#xff0c;虽不直接与用户 “面对面” 交流&#xff0c;却默默地支撑着整个互联网产品的稳定运行。它是服务器端编程的核心领域&#xff0c;负责处理数据、执行业务逻辑以及与数据库和其他后端服务进行交互。在当…

使用API有效率地管理Dynadot域名,为域名部署DNS安全拓展(DNSSEC)

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

Windows 图形显示驱动开发-CPU 内存调节和64KB 页面支持

对于 32 位 OS 离散图形处理单元 (GPU) 不支持可调整大小的 BAR&#xff0c;或者当调整帧缓冲区 BAR 的大小失败时&#xff0c;Windows 显示驱动程序模型 (WDDM) v2 将提供一种替代机制&#xff0c;通过该机制可以有效地访问离散 GPU VRAM。 对于支持可编程 BAR 地址空间的 GPU…

数据库配置文件

达梦数据库 修改dm.ini中的COMPATIBLE_MODE4,然后重启数据库 vi /dm8/data/DAMENG/dm.ini人大金仓数据库 修改kingbase.conf中的sql_mode‘’,然后重启数据库 vi /opt/package/Kingbase/ES/V8/data/kingbase.conf

[数据结构]单链表详解

目录 一、顺序表的问题及思考 二、单链表的实现 1.结构体内容的定义&#xff08;typedef struct SListNode&#xff09; 2.链表的打印&#xff08;void SLTPrint(SLTNode* phead)&#xff09; ​编辑3.链表的尾插&#xff08;void SLPushBack(SLTNode* phead, SLTDataType…

设计模式教程:外观模式(Facade Pattern)

1. 外观模式的定义 外观模式属于结构型设计模式&#xff0c;它定义了一个高层接口&#xff0c;使得子系统的接口变得更加简单。外观模式通过将子系统复杂的逻辑隐藏在一个外部的接口&#xff08;外观类&#xff09;中&#xff0c;简化了客户端与子系统之间的交互。 外观模式的…

learngit git常用指令

learngit & git常用指令 目录 learngit & git常用指令1.add && commit2.status && diff3.log && reset && reflog4.Repositoty(版本库)5.checkout6.rm7.github(push && rm)8.clone9.branch && switch && merg…