Files
2026-06-01 13:03:20 +08:00

6.3 KiB
Raw Permalink Blame History

Document Parser 用户使用手册

快速开始

系统依赖安装


sudo apt update
sudo apt install --reinstall build-essential libc6-dev linux-libc-dev


sudo apt install gcc-multilib g++-multilib


1. 环境初始化

# 在当前目录初始化uv虚拟环境和依赖
document-parser uv-init

这个命令会:

  • 检查并安装uv工具
  • 创建虚拟环境 ./venv/
  • 安装MinerU和MarkItDown依赖
  • 自动检测CUDA环境并安装相应版本

2. 启动服务

# 启动文档解析服务
document-parser server

服务启动后会自动:

  • 激活虚拟环境
  • 检查环境状态
  • 启动HTTP服务器默认端口8087

CUDA环境配置GPU加速

1. 检查CUDA环境

# 检查NVIDIA驱动和CUDA
nvidia-smi

# 检查CUDA版本
nvcc --version

2. 手动安装sglangGPU加速必需

重要不要直接安装sglang应该使用MinerU官方推荐的安装方式确保版本兼容性。

# 激活虚拟环境
source ./venv/bin/activate

# 使用MinerU官方命令安装推荐
uv pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple

# 或者使用pip安装
pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple

注意mineru[all] 会自动安装兼容的sglang版本避免版本冲突问题。

3. 验证sglang安装

# 检查sglang版本
python -c "import sglang; print('SGLang版本:', sglang.__version__)"

# 检查sglang server是否可用
python -m sglang.srt.server --help

4. 验证CUDA编译器头文件查找

# 测试CUDA编译器是否能找到math.h头文件
nvcc -v -x cu - -o /dev/null <<< '#include <math.h>'

# 如果成功,应该显示编译信息
# 如果失败,会显示 "fatal error: math.h: 没有那个文件或目录"

配置MinerU使用sglang加速

1. 修改配置文件

编辑 config.yml 文件:

# MinerU配置
mineru:
  backend: "vlm-sglang-engine"  # 启用sglang后端以支持GPU加速
  python_path: "./venv/bin/python"
  max_concurrent: 3
  queue_size: 100
  batch_size: 1
  quality_level: "Balanced"

2. 或者通过命令行指定

# 启动服务时指定后端
document-parser server --mineru-backend vlm-sglang-engine

验证MinerU是否使用sglang加速

1. 检查服务日志

启动服务后,查看日志中是否有以下信息:

INFO 虚拟环境已自动激活
INFO MinerU配置: backend=vlm-sglang-engine

2. 测试PDF解析

上传一个PDF文件进行解析查看日志输出

DEBUG MinerU完整命令: .../mineru -p input.pdf -o output -b vlm-sglang-engine

3. 检查GPU使用情况

在另一个终端中运行:

# 实时监控GPU使用
watch -n 1 nvidia-smi

# 或者使用htop查看进程
htop

如果看到MinerU进程占用GPU资源说明sglang加速正常工作。

故障排除

1. sglang安装失败

# 检查Python版本需要3.8+
python --version

# 检查pip版本
pip --version

# 尝试升级pip
pip install --upgrade pip

# 重新安装sglang
pip uninstall sglang -y
pip install "sglang[all]"

2. 版本兼容性问题

如果遇到transformers版本兼容问题

# 安装兼容的transformers版本
pip install "transformers>=4.36.0,<4.40.0"

# 重新安装MinerU会自动安装兼容的sglang版本
pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple

3. CUDA编译器头文件问题

如果遇到 fatal error: math.h: 没有那个文件或目录 错误:

# 验证CUDA编译器是否能找到math.h头文件
/usr/bin/nvcc -v -x cu - -o /dev/null <<< '#include <math.h>'

# 如果失败,安装缺失的开发包
sudo apt install -y libc6-dev libstdc++-13-dev

# 设置正确的CUDA环境变量
export CUDA_HOME=/usr
export PATH=/usr/lib/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:$LD_LIBRARY_PATH

# 清理FlashInfer缓存
rm -rf ~/.cache/flashinfer

重要提示如果之前直接安装了sglang建议先卸载再重新安装MinerU

# 卸载可能不兼容的sglang版本
pip uninstall sglang -y

# 重新安装MinerU包含兼容的sglang
pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple

3. 虚拟环境问题

# 检查虚拟环境状态
document-parser check

# 重新初始化环境
rm -rf ./venv
document-parser uv-init

4. 权限问题

# 检查目录权限
ls -la

# 修改权限(如果需要)
chmod 755 .
chown $USER .

常用命令

环境诊断

# 验证CUDA编译器头文件查找
/usr/bin/nvcc -v -x cu - -o /dev/null <<< '#include <math.h>'

# 检查系统头文件是否存在
ls -la /usr/include/math.h
ls -la /usr/include/c++/13/cmath

# 检查CUDA安装路径
find /usr -name "cuda_runtime.h" 2>/dev/null
which nvcc

环境管理

# 检查环境状态
document-parser check

# 显示故障排除指南
document-parser troubleshoot

# 重新初始化环境
document-parser uv-init

服务管理

# 启动服务默认端口8087
document-parser server

# 指定端口启动
document-parser server --port 8088

# 指定配置文件
document-parser server --config custom_config.yml

文件解析

# 解析单个文件
document-parser parse --input input.pdf --output output.md --parser mineru

性能优化建议

1. GPU加速

  • 确保安装了 sglang[all]
  • 使用 vlm-sglang-engine 后端
  • 监控GPU内存使用情况

2. 并发控制

根据服务器性能调整配置:

mineru:
  max_concurrent: 2  # 根据GPU内存调整
  batch_size: 1      # 小批次处理

3. 超时设置

document_parser:
  processing_timeout: 3600  # 60分钟超时

日志查看

1. 实时日志

# 查看当天日志
tail -f logs/log.$(date +%Y-%m-%d)

# 查看最新日志
tail -f logs/log.*

2. 日志级别

config.yml 中调整日志级别:

log:
  level: "debug"  # 可选: debug, info, warn, error

联系支持

如果遇到问题:

  1. 运行 document-parser troubleshoot 查看详细指南
  2. 检查日志文件获取错误信息
  3. 确保环境配置正确Python版本、CUDA版本等

注意:本手册基于当前版本编写,如有更新请参考最新文档。