让Dify知识库“看懂”图片!一款MinerU 工作流解决方案


您是否正在遭遇以下困扰?有一个重要资料是纯图片格式,有一个文档是扫描版的PDF,想上传到dify的知识库做解析,可Dify根本读取不到。为了解决这个问题,我们可以使用MinerU来完美解决,让你的Dify知识库拥有解析图片的能力。本文将详细介绍一个工作流,使你的Dify知识库也拥有OCR的能力。

(本文Dify版本为1.3.1)

前期准备

部署MinerU-API

参考本公众号前两篇文章《在Dify中使用MinerU提取PDF》《MinerU-API | 支持多格式解析,进一步提升Dify文档能力》,获取MinerU-API代码,再用docker部署。本文就不再多赘述。

docker run -d --gpus all --network docker_ssrf_proxy_network --name mineru-api -v minerupaddleocr:/root/.paddleocr mineru-api:v0.3

创建Dify知识库

创建一个Dify知识库,设定好基础的Embedding模型和Rerank模型

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

打开知识库,在地址栏里找到该知识库的ID,并记住它。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

知识库->API 界面,生成一个API密钥,用于接口调用。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

搭建MinerU知识库工作流

工作流概述

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

整个工作流有三个代码块,分别用于处理接口参数、MinerU解析文档、创建Dify知识库文档

Process Parameters:用于处理接口参数,这边主要处理/datasets/{dataset_id}/document/create-by-text接口的参数。

MinerU提取:将PDF、图片转成Markdown格式的文本。

知识库-文档创建:调用Dify/datasets/{dataset_id}/document/create-by-text,在知识库中创建文档。Python代码如下:

import requests
def main(api_key,file_name,content, api_params, dataset_id):
    headers = {
    'Authorization'f'Bearer {api_key}',
    'Content-Type''application/json',
    }

    api_params.update({
        "name": file_name,
        "text": content,
    })
        
    response = requests.post(
        f'http://api:5001/v1/datasets/{dataset_id}/document/create-by-text',
        headers=headers,
        json=api_params,
    )

    return {"result":response.text}

效果测试

以一份网页打印出的PDF文档为例,对比直传知识库,和使用MinerU工作流的效果。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

很显然,通过直传知识库,虽然文档能上传成功,可是里面的内容用Dify原生的知识库能力,完全无法解析。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

通过MinerU工作流创建文档,显然工作流成功执行,并且返回了接口调用结果。在知识库里查看一下。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

文档创建以后,Dify会自动对文档进行索引。待文档索引完成后,进行召回测试。

让Dify知识库“看懂”图片!一款MinerU 工作流解决方案

前沿技术大模型技术新闻资讯

玩转 MCP 黄金组合拳

2025-5-19 17:17:41

RAG技术前沿技术新闻资讯

使用Ragas自动化评测RAG知识问答系统的各项表现

2025-5-19 18:16:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索