11# MinerU 离线 PDF 转 Markdown
22
3- ## 📖 简介
3+ ## 简介
44
5- ** MinerU 离线 PDF 转 Markdown** 用于在 MaxKB 工作流中调用 ** 本地离线部署 ** 的 MinerU(Gradio 服务)解析 PDF,并 ** 直接返回 Markdown 文本** ,方便后续执行“文档分段 / 入库 / RAG” 等处理。
5+ ** MinerU 离线 PDF 转 Markdown** 用于在 MaxKB 工作流中调用本地离线部署的 MinerU(Gradio 服务)解析 PDF,并直接返回 Markdown 文本,方便后续执行文档分段、入库、 RAG 等处理。
66
7- 与 ZIP 结果流不同,本工具不进行 ZIP 打包、不上传 OSS,输出更轻量。
7+ 与 ZIP 结果流不同,本工具不进行 ZIP 打包、不上传 OSS,输出更轻量,适合内网环境或仅需文本结果的场景 。
88
9- ## ✅ 前置条件
9+ ## 核心能力
10+
11+ - 调用本地离线部署的 MinerU 服务解析 PDF
12+ - 直接输出 Markdown 文本,便于下游节点继续处理
13+ - 支持配置重试次数、最大处理页数与超时时间
14+
15+ ## 前置条件
1016
11171 . 已离线部署 MinerU(Gradio 服务)
1218
1319参考:
1420https://opendatalab.github.io/MinerU/zh/quick_start/docker_deployment/
1521
16- 2 . MaxKB v2.4+ 建议配置(按需)
17-
18- 修改 ` /opt/maxkb/conf/maxkb.env ` :
19-
20- ``` bash
21- MAXKB_SANDBOX_TMP_DIR_ENABLED=1
22- MAXKB_SANDBOX_PYTHON_ALLOW_SUBPROCESS=1
23- MAXKB_SANDBOX_PYTHON_PROCESS_LIMIT_MEM_MB=521
24- ```
25-
26- 重启:
27-
28- ``` bash
29- docker restart maxkb
30- ```
31-
32- 3 . 依赖安装
33-
34- 在 maxkb 容器内安装:
22+ 2 . 在 MaxKB 容器内安装依赖并授权临时目录
3523
3624``` bash
25+ # 到 maxkb 容器内安装 gradio_client
26+ docker exec -it maxkb bash
3727pip install gradio_client
38- # 如果存在 huggingface-hub 版本冲突
28+
29+ # 如果安装 gradio_client 提示 huggingface-hub 版本冲突,则使用 pip 的兼容性模式,同时安装兼容版本
3930pip install gradio_client huggingface-hub==0.34.0
31+
32+ # 授权 tmp 目录的访问操作权限
33+ chmod 777 /tmp
4034```
4135
42- ## 🧩 参数说明
36+ ## 参数说明
4337
4438### 输入参数
4539
4640| 参数名 (` Key ` ) | 类型 | 必填 | 说明 | 示例 |
4741| --- | --- | --- | --- | --- |
48- | ` file_input ` | Array / Object | ✅ | MaxKB 文件对象(通常是上游节点输出的文件列表/字典) | ` {{start.file_list}} ` |
42+ | ` file_input ` | Array / Object | ✅ | MaxKB 文件对象,通常为上游节点输出的文件列表或字典 | ` {{start.file_list}} ` |
4943
5044### 启动参数
5145
5246| 参数名 (` Key ` ) | 类型 | 必填 | 说明 | 默认值 |
5347| --- | --- | --- | --- | --- |
54- | ` url_prefix ` | String | ✅ | MaxKB 管理端前缀,用于拼接下载地址 | ` http://<ip>:8080/admin ` |
55- | ` mineru_gradio_url ` | String | ✅ | MinerU Gradio 服务地址 | ` http://localhost:7860/ ` |
56- | ` enable_ocr ` | Boolean | ❌ | 是否启用 OCR | ` true ` |
57- | ` enable_formula ` | Boolean | ❌ | 是否启用公式识别 | ` true ` |
58- | ` enable_table ` | Boolean | ❌ | 是否启用表格识别 | ` true ` |
59- | ` language ` | String | ❌ | 语言选项 | ` ch (Chinese, English, Chinese Traditional) ` |
60- | ` backend ` | String | ❌ | 解析引擎 | ` vlm-auto-engine ` |
61- | ` max_convert_pages ` | Integer | ❌ | 最大解析页数 | ` 500 ` |
62- | ` download_dir ` | String | ❌ | 临时下载目录(为空时自动探测可写目录) | 空字符串 |
63- | ` gradio_retry_count ` | Integer | ❌ | Gradio 调用失败重试次数 | ` 2 ` |
64- | ` timeout ` | Integer | ❌ | 下载与解析超时(秒) | ` 600 ` |
65-
66- ## 📤 输出结果
67-
68- 工具执行成功后返回 ` Array[Object] ` (长度为 1),示例:
48+ | ` url_prefix ` | String | ✅ | MaxKB 基础地址前缀,用于拼接文件下载地址 | ` http://192.168.11.114:8080/admin ` |
49+ | ` mineru_gradio_url ` | String | ✅ | 本地 MinerU Gradio 服务地址 | ` http://192.168.11.114:7860/ ` |
50+ | ` gradio_retry_count ` | Integer | ❌ | Gradio 调用失败时的重试次数 | ` 2 ` |
51+ | ` max_convert_pages ` | Integer | ❌ | 最大处理页数,用于限制单次解析范围 | ` 500 ` |
52+ | ` timeout ` | Integer | ❌ | 下载与解析超时时间,单位秒 | ` 600 ` |
53+
54+ ## 输出结果
55+
56+ 工具执行成功后返回 ` Array[Object] ` ,长度为 1。示例:
6957
7058``` json
7159[
@@ -83,10 +71,18 @@ pip install gradio_client huggingface-hub==0.34.0
8371
8472字段说明:
8573
86- - ` content ` :推荐使用的 Markdown 文本(下游分段节点通常用这个)
87- - ` markdown_raw ` :MinerU 渲染版 Markdown(便于排查格式问题)
74+ - ` content ` :推荐给下游节点使用的 Markdown 文本
75+ - ` markdown_raw ` :MinerU 渲染版 Markdown,便于排查格式问题
76+
77+ ## 使用建议
78+
79+ - 如果下游节点只识别 ` content ` ,优先使用 ` content `
80+ - 如果 PDF 页数很多,建议显式设置 ` max_convert_pages `
81+ - 如果网络或本地服务偶发不稳定,可适当调大 ` gradio_retry_count `
82+ - 如果大文件处理耗时较长,建议调大 ` timeout `
8883
89- ## 🔧 使用建议
84+ ## 适用场景
9085
91- - 如果下游节点只认 ` content ` ,请优先使用 ` content `
92- - 如果遇到权限问题(临时目录 / HuggingFace cache),请确保容器内 ` /tmp ` 可写
86+ - 内网环境下的 PDF 转 Markdown 解析
87+ - 文档预处理后直接进入知识库分段
88+ - 工作流中需要轻量文本输出,不需要图片上传与 OSS 回填
0 commit comments