一、MinerU介绍

MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。

从使用方式上,MinerU支持在线、客户端、API、本地部署方式。本次演示使用的是本地部署与Dify结合使用。

与传统的 PDF 解析工具相比,MinerU 在保持内容完整性的同时,还能对文档进行结构化处理,保留标题、段落、列表等信息,并智能去除页眉、页脚、脚注等干扰元素,从而确保语义连贯。此外,它还具备以下优势:

  • 支持公式识别并转换为 LaTeX 格式;
  • 支持表格解析并转换为 HTML 格式;
  • 自动检测扫描版 PDF,内置 OCR 功能,支持 84 种语言;
  • 支持图像、图片描述、表格脚注的提取;
  • 提供多种可视化方式,便于质量校验。

从使用方式上,MinerU 既支持在线、客户端和 API 接入,也支持本地部署。本文主要展示本地部署,并结合 Dify 进行实战应用。

文章首发公众号 风间技术私享。期待您的关注。

二、MinerU部署

在本地部署时需要满足以下条件

解析后端 pipeline vlm-transformers vlm-sglang
操作系统 Linux / Windows / macOS Linux / Windows Linux / Windows (via WSL2)
CPU推理支持
GPU要求 Turing及以后架构,6G显存以上或Apple Silicon Turing及以后架构,8G显存以上
内存要求 最低16G以上,推荐32G以上
磁盘空间要求 20G以上,推荐使用SSD
python版本 3.10-3.13

本都部署时支持pip或uv、源码、docker三种部署方式,为了方便演示和避免环境问题,本次演示使用docker部署。

2.1 下载Dockerfile

通过访问下面的地址下载Dockerfile文件

https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/Dockerfile

接着通过Dockerfile构建 mineru-sgland镜像

在Dockerfile 文件所在目录下执行下面的命令:

docker build -t mineru-sglang:latest -f Dockerfile .

效果如下图

内容较多,会需要等待一段时间。

2.2 下载 compose.yaml 文件

gcore.jsdelivr.net/gh/o

  • compose.yaml文件中包含了MinerU的多个服务配置,您可以根据需要选择启动特定的服务。
  • 不同的服务可能会有额外的参数配置,您可以在compose.yaml文件中查看并编辑。
  • 由于sglang推理加速框架预分配显存的特性,您可能无法在同一台机器上同时运行多个sglang服务,因此请确保在启动vlm-sglang-server服务或使用vlm-sglang-engine后端时,其他可能使用显存的服务已停止。

2.3 启动

在得到compose.yaml文件之后,就可以在此文件夹中继续使用CMD命令,逐行输入以下命令:

# 启动网页界面操作(图形界面)
   docker compose -f compose.yaml --profile gradio up -d 
# 在浏览器调用 API / 代码访问 (DIFY-MinerU本地部署核心前置条件)
   docker compose -f compose.yaml --profile api up -d
# 使用大模型加速
   docker compose -f compose.yaml --profile sglang-server up -d

三、Dify中使用

完成 MinerU 部署后,接下来需要在 Dify 中进行对接。

3.1 Dify安装插件

在Dify的插件市场搜索并安装MinerU插件

3.2 授权

对安装好的插件做授权,格式为: http(https)://IP:8000 。服务类型选择本地部署方式。

填写后保存,Dify会进行验证,验证通过后插件会提示授权成功。

四、Dify试用

在Dify中新建一个应用,增加授权成功后的MinerU节点,然后上传一个文件,如下图:

测试运行后,成功解析出pdf的内容。

只要这个关键节点运行成功,就可以结合具体场景做出更多种的应用。

五、报错解决

如果遇到连接问题,例如下文

Run failed: Failed to transform tool message: PluginInvokeError: {“args”:{},”error_type”:”ValueError”,”message”:”Invalid file URL ‘/files/671e5c6b-ff8b-4962-b3d8-9bb841bfcbb4/file-preview?

  1. 找到 Dify 部署目录,打开. env 文件,修改 FILES_URL 配置项,依据你的部署方式填写:
  • Docker Compose 部署:FILES_URL 设置为api:5001
  • 其他部署方式:FILES_URL 设置为 Dify宿主机IP:5001
  1. 确认 Dify API 服务的 5001 端口已对外暴露(可检查 docker-compose. Yaml 文件的端口映射)。
  2. 保存. env 文件。
  3. 重启 Dify 服务以使配置生效。
    docker compose down
    docker compose up -d

六、总结

通过本文的实战演示,我们完成了 MinerU 的本地部署,并将其成功接入到 Dify 应用中,实现了 PDF 内容的高质量解析与调用。整个过程可以归纳为以下几个关键点:

  1. MinerU 的优势:支持复杂文档结构解析、OCR、多语言识别和多格式输出,为大模型应用提供了优质的数据输入。
  2. Docker 部署的便利性:通过 Dockerfile 与 compose.yaml,能够快速完成安装与启动,避免环境依赖问题。
  3. 与 Dify 的融合:在 Dify 中,MinerU 可以作为工具节点无缝集成,从而拓展了文档处理的应用场景。
  4. 实践价值:结合 Dify 的工作流与大模型能力,可以构建智能知识库、文档问答系统等更高阶的应用。

总的来说,MinerU + Dify 的结合,不仅降低了 PDF 解析与应用的门槛,也为大模型生态提供了强大的数据支撑。对于想要在 文档解析 → 数据处理 → 智能应用 全链路上进行探索的开发者而言,这是一个极具价值的组合方案。