提交qiming-mcp-proxy

This commit is contained in:
Codex
2026-06-01 13:03:20 +08:00
parent 9e9486b7c2
commit afb3d9f4e6
394 changed files with 124494 additions and 0 deletions

View File

@@ -0,0 +1,308 @@
# Document Parser 用户使用手册
## 快速开始
### 系统依赖安装
```shell
sudo apt update
sudo apt install --reinstall build-essential libc6-dev linux-libc-dev
sudo apt install gcc-multilib g++-multilib
```
### 1. 环境初始化
```bash
# 在当前目录初始化uv虚拟环境和依赖
document-parser uv-init
```
这个命令会:
- 检查并安装uv工具
- 创建虚拟环境 `./venv/`
- 安装MinerU和MarkItDown依赖
- 自动检测CUDA环境并安装相应版本
### 2. 启动服务
```bash
# 启动文档解析服务
document-parser server
```
服务启动后会自动:
- 激活虚拟环境
- 检查环境状态
- 启动HTTP服务器默认端口8087
## CUDA环境配置GPU加速
### 1. 检查CUDA环境
```bash
# 检查NVIDIA驱动和CUDA
nvidia-smi
# 检查CUDA版本
nvcc --version
```
### 2. 手动安装sglangGPU加速必需
**重要**不要直接安装sglang应该使用MinerU官方推荐的安装方式确保版本兼容性。
```bash
# 激活虚拟环境
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安装
```bash
# 检查sglang版本
python -c "import sglang; print('SGLang版本:', sglang.__version__)"
# 检查sglang server是否可用
python -m sglang.srt.server --help
```
### 4. 验证CUDA编译器头文件查找
```bash
# 测试CUDA编译器是否能找到math.h头文件
nvcc -v -x cu - -o /dev/null <<< '#include <math.h>'
# 如果成功,应该显示编译信息
# 如果失败,会显示 "fatal error: math.h: 没有那个文件或目录"
```
## 配置MinerU使用sglang加速
### 1. 修改配置文件
编辑 `config.yml` 文件:
```yaml
# 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. 或者通过命令行指定
```bash
# 启动服务时指定后端
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使用情况
在另一个终端中运行:
```bash
# 实时监控GPU使用
watch -n 1 nvidia-smi
# 或者使用htop查看进程
htop
```
如果看到MinerU进程占用GPU资源说明sglang加速正常工作。
## 故障排除
### 1. sglang安装失败
```bash
# 检查Python版本需要3.8+
python --version
# 检查pip版本
pip --version
# 尝试升级pip
pip install --upgrade pip
# 重新安装sglang
pip uninstall sglang -y
pip install "sglang[all]"
```
### 2. 版本兼容性问题
如果遇到transformers版本兼容问题
```bash
# 安装兼容的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: 没有那个文件或目录` 错误:
```bash
# 验证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
```bash
# 卸载可能不兼容的sglang版本
pip uninstall sglang -y
# 重新安装MinerU包含兼容的sglang
pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple
```
### 3. 虚拟环境问题
```bash
# 检查虚拟环境状态
document-parser check
# 重新初始化环境
rm -rf ./venv
document-parser uv-init
```
### 4. 权限问题
```bash
# 检查目录权限
ls -la
# 修改权限(如果需要)
chmod 755 .
chown $USER .
```
## 常用命令
### 环境诊断
```bash
# 验证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
```
### 环境管理
```bash
# 检查环境状态
document-parser check
# 显示故障排除指南
document-parser troubleshoot
# 重新初始化环境
document-parser uv-init
```
### 服务管理
```bash
# 启动服务默认端口8087
document-parser server
# 指定端口启动
document-parser server --port 8088
# 指定配置文件
document-parser server --config custom_config.yml
```
### 文件解析
```bash
# 解析单个文件
document-parser parse --input input.pdf --output output.md --parser mineru
```
## 性能优化建议
### 1. GPU加速
- 确保安装了 `sglang[all]`
- 使用 `vlm-sglang-engine` 后端
- 监控GPU内存使用情况
### 2. 并发控制
根据服务器性能调整配置:
```yaml
mineru:
max_concurrent: 2 # 根据GPU内存调整
batch_size: 1 # 小批次处理
```
### 3. 超时设置
```yaml
document_parser:
processing_timeout: 3600 # 60分钟超时
```
## 日志查看
### 1. 实时日志
```bash
# 查看当天日志
tail -f logs/log.$(date +%Y-%m-%d)
# 查看最新日志
tail -f logs/log.*
```
### 2. 日志级别
在 `config.yml` 中调整日志级别:
```yaml
log:
level: "debug" # 可选: debug, info, warn, error
```
## 联系支持
如果遇到问题:
1. 运行 `document-parser troubleshoot` 查看详细指南
2. 检查日志文件获取错误信息
3. 确保环境配置正确Python版本、CUDA版本等
---
**注意**:本手册基于当前版本编写,如有更新请参考最新文档。