|
|
hai 2 semanas | |
|---|---|---|
| .. | ||
| model_evaluator | hai 3 semanas | |
| sample_data | hai 2 meses | |
| utils | hai 1 mes | |
| Finance_report_extract.md | hai 3 meses | |
| README.md | hai 1 mes | |
| annual_report_kg_solution.md | hai 3 meses | |
| demo.py | hai 2 meses | |
| demo_zhch_v1.py | hai 2 meses | |
| layout模型-onnx.md | hai 2 semanas | |
| magic-pdf-0.json | hai 11 meses | |
| magic-pdf.json | hai 11 meses | |
| magic_pdf_parse_main_zhch.py | hai 11 meses | |
| mineru.json | hai 2 meses | |
| mineru2_vllm_multthreads.py | hai 1 mes | |
| mineru_fast_api_daemon.sh | hai 1 mes | |
| mineru_pipeline_flow.md | hai 3 meses | |
| mineru_vllm_daemon.sh | hai 1 mes | |
| mineru_处理流程.md | hai 3 semanas | |
| mineru_文字PDF_处理流程.md | hai 1 mes | |
| 坐标归一化.md | hai 1 mes | |
| 文字PDF-表格处理.md | hai 1 mes | |
基于 MinerU 2.5+ 的文档解析和批量处理系统,支持 PDF 和图像文档的智能解析。
git clone https://gitee.com/zhch158_admin/MinerU.git -c user.name=zhch158_admin -c user.email=zhch158@sina.com
cd MinerU
git config --local user.name "zhch158_admin"
git config --local user.email "zhch158@sina.com"
# 创建 conda 环境
conda create -n mineru2 python=3.12
conda activate mineru2
# 安装 MinerU 核心
pip install -U "mineru[core]" -i https://mirrors.aliyun.com/pypi/simple
# 开发模式安装(推荐)
uv pip install -U -e '.[all]'
# 安装额外依赖
pip install PyMuPDF loguru tqdm pillow
# 检查 PyTorch 版本
python -c "import torch; print(f'PyTorch: {torch.__version__}, CUDA: {torch.cuda.is_available()}')"
# 从 ModelScope 下载模型权重文件
python -m mineru.cli.models_download
# 模型会保存到 $MODELSCOPE_CACHE 目录
# 默认路径: /home/ubuntu/models/modelscope_cache/models/OpenDataLab/MinerU2___5-2509-1___2B
创建 .env 文件或设置环境变量:
# .env 文件内容
NLTK_DATA="/home/ubuntu/nltk_data"
HF_HOME="/home/ubuntu/models/hf_home"
HF_ENDPOINT=https://hf-mirror.com
HF_HUB_OFFLINE=0
TORCH_HOME="/home/ubuntu/models/torch/"
MODELSCOPE_CACHE="/home/ubuntu/models/modelscope_cache"
USE_MODELSCOPE_HUB=1
CUDA_VISIBLE_DEVICES=0,1,2,3
MINERU_TOOLS_CONFIG_JSON="/home/ubuntu/zhch/MinerU/mineru.json"
# 启动 vLLM 服务器(单GPU)
CUDA_VISIBLE_DEVICES="4" mineru-vllm-server --port 8121 --gpu-memory-utilization 0.3
# 或使用守护进程脚本
./mineru_vllm_daemon.sh start
./mineru_vllm_daemon.sh status
./mineru_vllm_daemon.sh logs
# 启动 FastAPI HTTP 服务
./mineru_fast_api_daemon.sh start
# 访问 API 文档
# http://localhost:8120/docs
export MINERU_TOOLS_CONFIG_JSON="/home/ubuntu/zhch/MinerU/mineru.json"
# 处理单个文件
python -m mineru.cli.client -p /path/to/document.pdf -o /path/to/output --lang ch --source modelscope
# 处理目录
python -m mineru.cli.client -p /path/to/images/ -o /path/to/output --lang ch --source modelscope
# 使用本地 vLLM 引擎
CUDA_VISIBLE_DEVICES=4 python -m mineru.cli.client \
-p /path/to/document.pdf \
-o /path/to/output \
--backend vlm-vllm-engine \
--gpu-memory-utilization 0.3 \
--source modelscope
# 使用 HTTP 客户端(连接到 vLLM 服务器)
python -m mineru.cli.client \
-p /path/to/document.pdf \
-o /path/to/output \
--backend vlm-http-client \
--server-url http://127.0.0.1:8121 \
--source modelscope
使用增强的批量处理脚本 mineru2_vllm_multthreads.py:
# 基本用法
python mineru2_vllm_multthreads.py \
--input_dir /path/to/images \
--output_dir /path/to/output \
--server_url http://127.0.0.1:8121
# 高级参数
python mineru2_vllm_multthreads.py \
--input_file /path/to/document.pdf \
--output_dir /path/to/output \
--server_url http://127.0.0.1:8121 \
--batch_size 1 \
--timeout 300 \
--debug \
--test_mode
# 从文件列表批量处理
python mineru2_vllm_multthreads.py \
--input_file_list /path/to/file_list.txt \
--output_dir /path/to/output \
--collect_results /path/to/results.csv
# 从 CSV 文件处理(支持断点续传)
python mineru2_vllm_multthreads.py \
--input_csv /path/to/processed_files.csv \
--output_dir /path/to/output \
--no-normalize # 禁用金额标准化
output_dir/
├── filename.md # Markdown 格式文档内容
├── filename.json # Content list(结构化内容)
├── filename_layout.pdf # 布局边界框可视化
├── images/ # 提取的图片
│ ├── image_0.jpg
│ └── ...
├── filename_results.json # 处理结果统计
└── processed_files.csv # 处理状态记录
# 调试模式额外输出:
├── filename_middle.json # 中间 JSON 数据
├── filename_model.json # 模型原始输出
└── filename_origin.pdf # 原始 PDF 文件
# 处理年度报告
python mineru2_vllm_multthreads.py \
--input_file /Users/zhch158/workspace/data/至远彩色印刷工业有限公司/2023年度报告母公司.pdf \
--output_dir /Users/zhch158/workspace/data/至远彩色印刷工业有限公司/mineru-vlm-2.5.3_Results \
--server_url http://10.192.72.11:8121 \
--timeout 300 \
--batch_size 1 \
--pdf_dpi 200 \
--debug
# A用户流水分析
python -m mineru.cli.client \
-p /data/流水分析/A用户_单元格扫描流水.img \
-o /output/A用户_流水分析 \
--lang ch --source modelscope
# B用户流水分析(VLM模式)
CUDA_VISIBLE_DEVICES=3 python -m mineru.cli.client \
-p /data/流水分析/B用户_扫描流水.img \
-o /output/B用户_流水分析 \
--backend vlm-vllm-engine \
--gpu-memory-utilization 0.3 \
--source modelscope
# A用户_单元格扫描流水(VLM模式)
python mineru2_vllm_multthreads.py \
--input_dir /Users/zhch158/workspace/data/流水分析/A用户_单元格扫描流水.img \
--output_dir /Users/zhch158/workspace/data/流水分析/A用户_单元格扫描流水/mineru-vlm-2.5.3_Results \
--server_url http://10.192.72.11:8121 \
--timeout 300 \
--batch_size 1 \
--pdf_dpi 200
# B用户流水分析(VLM模式)
python mineru2_vllm_multthreads.py \
--input_dir /Users/zhch158/workspace/data/流水分析/B用户_扫描流水.img \
--output_dir /Users/zhch158/workspace/data/流水分析/B用户_扫描流水/mineru-vlm-2.5.3_Results \
--server_url http://10.192.72.11:8121 \
--timeout 300 \
--batch_size 1 \
--pdf_dpi 200
# 德_内蒙古银行照(VLM模式)
python mineru2_vllm_multthreads.py \
--input_file /Users/zhch158/workspace/data/流水分析/德_内蒙古银行照.pdf \
--output_dir /Users/zhch158/workspace/data/流水分析/德_内蒙古银行照/mineru-vlm-2.5.3_Results \
--server_url http://10.192.72.11:8121 \
--timeout 300 \
--batch_size 1 \
--pdf_dpi 200
# 对公_招商银行图(VLM模式)
python mineru2_vllm_multthreads.py \
--input_file /Users/zhch158/workspace/data/流水分析/对公_招商银行图.pdf \
--output_dir /Users/zhch158/workspace/data/流水分析/对公_招商银行图/mineru-vlm-2.5.3_Results \
--server_url http://10.192.72.11:8121 \
--timeout 300 \
--batch_size 1 \
--pdf_dpi 200
# OmniDocBench 评测集
python -m mineru.cli.client \
-p /data/OmniDocBench/images \
-o /output/OmniDocBench_Results \
--lang ch --source modelscope
# 启动服务
./mineru_vllm_daemon.sh start
# 查看状态
./mineru_vllm_daemon.sh status
# 查看日志
./mineru_vllm_daemon.sh logs
# 测试 API
./mineru_vllm_daemon.sh test
# 停止服务
./mineru_vllm_daemon.sh stop
# 重启服务
./mineru_vllm_daemon.sh restart
# 启动 FastAPI 服务
./mineru_fast_api_daemon.sh start
# 服务状态和测试
./mineru_fast_api_daemon.sh status
./mineru_fast_api_daemon.sh test
# API 文档访问
# http://localhost:8120/docs
CUDA_VISIBLE_DEVICES: 指定使用的GPU设备--gpu-memory-utilization: GPU内存利用率(0.1-0.9)--max-model-len: 最大模型长度--max-num-batched-tokens: 最大批处理token数--batch_size: 批处理大小--timeout: 请求超时时间--debug: 调试模式(输出详细日志和中间文件)--test_mode: 测试模式(仅处理前10个文件)--no-normalize: 禁用金额标准化--input_file: 单个文件--input_dir: 输入目录--input_file_list: 文件列表--input_csv: CSV文件(支持断点续传)# GPU 内存优化
--gpu-memory-utilization 0.3 # 30% GPU内存使用
# 批处理优化
--batch_size 1 # 根据GPU内存调整
gpu-memory-utilization 参数timeout 参数值