Dify集成MinerU插件解析PDF失败排查
- AI相关
- 时间:2025-11-24 17:05
- 70人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
我在本地docker安装了minerU,在dify中也集成了minerU插件。但是测试pdf解析,返回:
Failed to parse file. result: {"detail":"Not Found"}
你在Dify中测试MinerU插件时遇到 {"detail":"Not Found"} 错误,这通常是因为Dify无法正确访问你本地部署的MinerU服务。问题根源往往出在网络连接配置上。
下面是一个排查流程图,可以帮助你系统地定位问题:


🔧 逐步排查与解决
请按照以下步骤逐一检查和修正配置:
1. 检查 MinerU 服务的 Base URL 配置
在 Dify 的 MinerU 插件配置中,Base URL 必须填写你运行 MinerU 服务的宿主机在局域网内的IP地址,而不是 localhost 或 127.0.0.1。
原因:当 Dify 服务(通常也运行在Docker容器中)尝试访问配置为
localhost的 MinerU 服务时,它访问的是 Dify 自己的容器内部,而不是宿主机上的 MinerU 服务。如何获取本机IP:
Windows:打开命令提示符 (
cmd),输入ipconfig,查找"IPv4 地址"。macOS:打开终端,输入
ipconfig getifaddr en0(无线网络) 或ipconfig getifaddr en1(有线网络)。Linux:打开终端,输入
ip addr或hostname -I。正确配置示例:
MinerU服务的Base URL:
http://192.168.1.100:8888(将192.168.1.100替换为你的实际IP,端口确保是MinerU服务暴露的端口)。令牌:留空(本地部署通常不需要)。
服务类型:选择"本地部署"。
2. 确认 MinerU 容器正常运行
确保你的 MinerU Docker 容器正在运行,并且端口映射正确。
检查容器状态:
docker ps
查看容器日志:
docker logs <你的mineru容器名或ID>
确认端口映射:在运行 MinerU 容器的命令中,确保包含了端口映射,例如
-p 8888:8888。你的 Docker 运行命令应类似于:docker run -p 8888:8888 ... 其他参数 ... mineru:latest
3. 检查 Dify 的 FILES_URL 配置
这个配置项会影响 Dify 处理文件的方式,配置不正确可能导致类似的错误。
找到 Dify 的
.env配置文件。修改
FILES_URL:Docker Compose 部署:
FILES_URL=http://api:5001其他部署方式:
FILES_URL=http://你的Dify宿主机IP:5001(例如http://192.168.1.100:5001)保存并重启 Dify 服务以使配置生效。
4. 验证网络连通性
在运行 Dify 服务的主机上,使用 curl 命令测试是否能访问到 MinerU 服务:
curl http://你的宿主机IP:8888
如果无法连通,说明 MinerU 服务未成功启动或网络配置有误。
尝试下面方案:
我本地ip: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::6a52:d4c0:3c25:8458%20 IPv4 地址 . . . . . . . . . . . . : 192.168.8.117 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 192.168.8.1 在dify中配置minerU插件的API key授权配置信息如下: 凭证名称:本地 MinerU服务的Base URL:http://dify服务:8000
令牌:未填写
服务类型:本地部署
🔍 问题排查步骤
1. 首先测试 MinerU API 是否正常响应
在宿主机上运行以下命令测试连通性:
# 测试健康检查端点 curl http://192.168.8.117:8000/health # 或者测试基础端点 curl http://192.168.8.117:8000/
如果这些命令没有返回有效响应,说明 MinerU API 服务本身有问题。
curl http://192.168.8.117:8000/health {"status":"ok","torch":true,"sam2":true,"depth_pro":true}


原来问题出在了这里,我的8000端口被sam2服务占用了。
果断修改docker 配置文件:
明白了!你的 SAM2 模型占用了 8000 端口,需要将 MinerU API 端口改为 18000。修改方法如下:
🛠️ 修改 MinerU 端口配置
在你的 docker-compose 文件中,修改 mineru-api 服务的端口映射:
mineru-api: image: mineru-vllm:latest container_name: mineru-api restart: always profiles: ["api"] ports: - 18000:8000 # 修改这里:宿主机端口改为18000,容器内端口保持8000 environment: MINERU_MODEL_SOURCE: local entrypoint: mineru-api command: --host 0.0.0.0 --port 8000 # 容器内端口保持8000不变 # 其他参数保持不变... volumes: - E:\DockerDataMountPath\MinerU:/data ulimits: memlock: -1 stack: 67108864 ipc: host deploy: resources: reservations: devices: - driver: nvidia device_ids: [ "0" ] capabilities: [ gpu ]
🔄 重启步骤
停止并删除当前容器:
docker stop mineru-api docker rm mineru-api
使用修改后的配置重新启动:
# 进入包含 docker-compose.yml 的目录 docker-compose up -d mineru-api
验证新端口是否工作:
curl http://192.168.8.117:18000/health
📝 更新 Dify 配置
修改成功后,在 Dify 中更新 MinerU 插件配置:
Base URL:
http://192.168.8.117:18000其他配置保持不变
💡 注意事项
端口冲突检查:确保 18000 端口没有被其他服务占用
netstat -an | findstr 18000
防火墙设置:如果开启了防火墙,确保 18000 端口允许访问
如果使用 docker-compose:确保修改的是你实际使用的 docker-compose 文件,然后运行:
docker-compose down mineru-api docker-compose up -d mineru-api
修改完成后,请测试新端口的连通性,然后在 Dify 中重新配置并测试 PDF 解析功能。