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.htmlconda_prefix=/root/anaconda3install_basics() {# Check if the script is being run as root
if [ "$(id -u)" != "0" ]; thenecho "This script must be run as root."exit 1
fiif [[ -f /etc/os-release ]]; thenOS=$(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) elseecho -e "\033[31mThis script only supports $OS $VERSION...\033[0m"exit 1
fi# Check the mineru version
if ! [ -d "$conda_prefix" ]; thenecho -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.rpmyum install -y net-tools wget curlyum install -y mesa-libGL# install mineruinstall_mineru;;# CentOS/RedHat/oracle/RockLinux/AlmaLinux 9 install9.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.rpmyum install -y net-tools wget curlyum install -y mesa-libGL# install mineruinstall_mineru;;# CentOS/RedHat/oracle/RockLinux/AlmaLinux 10 install10.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.rpmyum install -y net-tools wget curlyum install -y mesa-libGL# install mineruinstall_mineru;;# openEuler 20,22,23,24 Linux install20.03|22.03|23.03|24.03) echo "add epel repo"openEuler_epel_repoecho Installing basics...yum install -y net-tools wget curlyum install -y mesa-libGL# install mineruinstall_mineru;;# ubuntu 20,21,22,23,24 Linux install20.04|21.04|22.04|23.04|24.04)echo Installing basics...apt updateecho "Pop-up block"sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profilesource /etc/profileecho "install libgl1-mesa-glx"apt-get updateapt-get install -y libgl1-mesa-glx# install mineruinstall_mineru;;# Debian 10,11.1210|11|12)echo Installing basics...apt updateecho "Pop-up block"sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profilesource /etc/profileecho "install libgl1-mesa-glx"apt-get updateapt-get install -y libgl1-mesa-glx# install mineruinstall_mineru;;*)echo -e "\033[31m Unsupported $OS $VERSION...\033[0m" exit 1;;
esacecho -e "\033[32m mineru for $OS $VERSION successfully installed...\033[0m"
elseecho -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$ ]]; thenrepo_version=9
elif [[ $VERSION_ID == 20.03 ]]; thenrepo_version=8
fiecho "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 ~/.bashrcecho "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/simpleecho "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