Documentation Index
Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
什么是 MinerU Tianshu
MinerU Tianshu 是一个企业级多 GPU 文档解析服务,适用于 RAG 数据预处理等场景。它结合 SQLite 任务队列 + LitServe GPU 负载均衡,支持将 PDF 等多种格式的文档转换为 Markdown 或 JSON 结构化数据,可以解决文档解析、多 GPU 调度、任务管理等生产环境痛点。
MinerU Tianshu 的核心特性如下:
- 高性能架构
- Worker 主动拉取:0.5秒响应速度,无需调度器触发
- 并发安全:原子操作防止任务重复,支持多 Worker 并发
- GPU 负载均衡:LitServe 自动调度,避免显存冲突
- 多 GPU 隔离:每个进程只使用分配的 GPU ,彻底解决多卡占用
- 企业级功能
- 异步处理:客户端立即响应(~ 100 ms),无需等待处理完成
- 任务持久化:SQLite 存储,服务重启任务不丢失
- 优先级队列:重要任务优先处理
- 自动清理:定期清理旧结果文件,保留数据库记录
- 智能解析
- 双解析器:PDF / 图片用 MinerU(GPU加速), Office / HTML 等用 MarkItDown(快速)
- 内容获取:API 自动返回 Markdown 内容,支持图片上传到 MinIO
- RESTful API:支持任何编程语言接入
- 实时查询:随时查看任务进度和状态
如需了解更多,请在MinerU 项目官方网站上查看详细信息。
运行 MinerU Tianshu
- 进入算力市场页面。
- 单击「选择模板」,找到 MinerU Tianshu ,单击「使用模板」。
- 按照需要,选择计费方式、地区、实例规格等配置。
- 检查磁盘大小,并在环境变量中替换 OSS 信息。
- 确认配置无误后,单击「部署」。
- 进入实例管理页面,查看新创建的实例。等待实例创建成功,状态变为运行中。
- 查看实例日志,确保服务正常启动。
使用 MinerU Tianshu
-
在实例管理页面,单击实例对应的「连接」。
-
在弹出的对话框中,获取 HTTP 服务地址。
-
启动 Web Terminal,然后通过 Web Terminal 远程连接实例。
-
在 Web Terminal 中,切换到
/vllm-workspace/MinerU/projects/mineru_tianshu目录。
-
创建 test_auto_upload_images.py。
test_auto_upload_images.py 的代码示例如下,请将
API_BASE_URL的值替换为实际的 HTTP 服务地址,将LOCAL_PDF_PATH的值和OUTPUT_DIR的值替换为测试的实际路径。
# ==================== 配置 ====================
API_BASE_URL = "http://localhost:8000"
LOCAL_PDF_PATH = "./1.pdf" # 要上传的 PDF 文件路径
OUTPUT_DIR = "./auto_upload_output" # 本地保存目录
-
运行 test_auto_upload_images.py。
python3 test_auto_upload_images.py
预期返回:
============================================================
MinerU Tianshu - 自动上传图片到对象存储示例
============================================================
📋 Step 1: Submit task
------------------------------------------------------------
📤 Submitting task: demo1.pdf
Backend: http-client
Parse method: auto
Languages: ['zh']
✅ Task submitted successfully!
Task ID: 4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3
📋 Step 2: Wait for task completion
------------------------------------------------------------
⏳ Waiting for task 4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3 to complete...
Status: pending (elapsed: 0.0s)
Status: processing (elapsed: 2.0s)
Status: processing (elapsed: 4.0s)
Status: processing (elapsed: 6.0s)
Status: processing (elapsed: 8.0s)
Status: processing (elapsed: 10.0s)
Status: processing (elapsed: 12.0s)
Status: processing (elapsed: 14.0s)
Status: processing (elapsed: 16.0s)
Status: processing (elapsed: 18.0s)
Status: processing (elapsed: 20.0s)
Status: processing (elapsed: 22.0s)
Status: processing (elapsed: 24.0s)
Status: processing (elapsed: 26.0s)
✅ Task completed!
📋 Step 3: Get results with auto image upload to storage
------------------------------------------------------------
🖼️ Requesting API to upload images to object storage...
✅ Results retrieved successfully!
Markdown file: demo1.md
Content length: 51753 characters
Images uploaded to storage: True
📋 Step 4: Save results to local
------------------------------------------------------------
✅ Saved Markdown to: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3_demo1.md
✅ Saved metadata to: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3_metadata.json
📋 Step 5: Download images from storage to local
------------------------------------------------------------
🖼️ Downloading images from object storage...
📥 Found 8 images to download
🔐 Downloading from OSS: a625057f-d84f-44a8-92fa-53b3b512edfd.jpg
✅ Downloaded: a625057f-d84f-44a8-92fa-53b3b512edfd.jpg (33785 bytes)
🔐 Downloading from OSS: 366f3f26-01bb-4d88-a3ca-0c066fabfc2f.jpg
✅ Downloaded: 366f3f26-01bb-4d88-a3ca-0c066fabfc2f.jpg (54819 bytes)
🔐 Downloading from OSS: 9999568b-0075-4cf1-bddc-c4708a0847e2.jpg
✅ Downloaded: 9999568b-0075-4cf1-bddc-c4708a0847e2.jpg (12612 bytes)
🔐 Downloading from OSS: 7ab0e083-c22c-4f65-b98f-65acfd4e6dc0.jpg
✅ Downloaded: 7ab0e083-c22c-4f65-b98f-65acfd4e6dc0.jpg (30049 bytes)
🔐 Downloading from OSS: 572ed653-a760-4c41-a5a0-79207219593a.jpg
✅ Downloaded: 572ed653-a760-4c41-a5a0-79207219593a.jpg (47093 bytes)
🔐 Downloading from OSS: 6b2465d4-eba5-4ffd-b1fa-629edf4cb634.jpg
✅ Downloaded: 6b2465d4-eba5-4ffd-b1fa-629edf4cb634.jpg (20770 bytes)
🔐 Downloading from OSS: aa1f1bfa-16c8-463b-99af-5dc4dfc4c994.jpg
✅ Downloaded: aa1f1bfa-16c8-463b-99af-5dc4dfc4c994.jpg (17916 bytes)
🔐 Downloading from OSS: 7e8db6de-9533-4257-b767-1b2300dfb4ab.jpg
✅ Downloaded: 7e8db6de-9533-4257-b767-1b2300dfb4ab.jpg (21239 bytes)
✅ Downloaded 8 images
✅ Saved updated Markdown to: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3/demo1.md
Images directory: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3/images
============================================================
✅ 完成!
============================================================
📁 本地文件:
• Markdown (含本地图片路径): auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3/demo1.md
• 图片目录: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3/images (8 张图片)
• 原始 Markdown (含云端链接): auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3_demo1.md
• 元数据: auto_upload_output/4c18cb2b-ff8c-4d14-b9a6-d2e80c64f9f3_metadata.json
🖼️ 图片存储:
• 云端:所有图片已上传到对象存储(MinIO/COS/OSS)
• 本地:已下载 8 张图片到本地
• Markdown 图片链接:本地路径 (images/xxx.png)
• 存储类型由服务端配置决定(STORAGE_TYPE 环境变量)
📂 服务器本地文件(如需要):
📄 Markdown 内容预览(前 200 字符):
------------------------------------------------------------
(显示本地图片版本)
# The response of flow duration curves to afforestation
Patrick N.J. Lane $^{a,c,*}$ , Alice E. Best $^{b,c,d}$ , Klaus Hickel $^{b,c}$ , Lu Zhang $^{b,c}$
$^{a}$ School of Forest and Ecosystem Stud
... (truncated)