dify 是一个 AI 驱动的低代码开发平台,适合构建智能应用,而 Minio 是一个高性能的对象存储服务,兼容 S3 协议,适合存储和管理文件。两者结合可以实现文件的存储、解析,并通过 AI 能力生成思维导图。
整体思路
-
文件存储:使用 Minio 作为文件存储服务,上传需要解析的文件(如 PDF、DOCX、TXT 等)。
-
文件解析:通过 Dify 平台的HTTP节点调用Minio生产预签名的URL,从 Minio 获取文件内容通过文档解析器并提取文本。
-
思维导图生成:利用 Dify 的 AI 能力(如调用大语言模型)对解析的文本进行结构化处理,生成思维导图数据或文本描述。 -
结果展示:将生成的思维导图以图像或交互式形式展示给用户,或者存储回 Minio 供后续下载。
1. 环境准备
-
基于Ollama搭建Qwen2.5模型
-
已经搭建并配置好Dify服务
-
已经本地或局域网部署Minio
-
搭建好markmap生产思维导图(可选,用于测试)
2. 工作流展示

只作为和Minio交互时演示效果,不做工作流的搭建过程讲解。这里核心是两个场景,一个场景是将用户上传的文件转换为思维导图;另一个场景是从Minio中获取文件转换为思维导图。
3. 获取Minio文件对象的预签名 URL

Minio-SDK版本建议8.5.7及以上,为了方便测试这里使用的是Transformer的自注意力机制的paper论文;需要注意的是此处在生成文件预签名地址URL时,添加了额外的query参数response-content-disposition到这个URL中,防止在访问URL时直接预览PDF等文件类型的文件(这是我在实际开发过程中遇到的一个坑)。

4. 使用Dify的HTTP节点下载文件

这里,我使用的sys.query参数传递URL地址,好处是预览时URL直接粘贴进去就可以测试。
5. 完整流程测试



