Files
MinerU/docs/zh/usage/plugin/Dify.md

171 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dify 简介
**Dify** 是一个开源的大语言模型LLM应用开发平台旨在简化和加速生成式 AI 应用的创建和部署。它结合了后端即服务BaaS和 LLMOps 的理念,为开发者提供了用户友好的界面和强大的工具,有效降低了 AI 应用开发的门槛。
目前 MinerU 与 Dify 联合研发的 MinerU 插件已在 Dify 市场上架,帮助用户搭建工作流,提供文档解析的工作。
![img](../../../assets/images/Dify_2.png)
- Dify 官网地址https://dify.ai/zh
- MinerU Dify 插件下载地址https://marketplace.dify.ai/plugins/langgenius/mineru
# MinerU 在 Dify 中的使用方法
## 一、**新版MinerU Dify插件亮点 (v0.4.0)**
- **完美适配MinerU2**全面兼容MinerU2的最新功能释放顶尖的文档解析能力。
- **超高灵活性**同时支持官方在线API和本地化部署的API并向下兼容 1.x 版本)。
- **赋能工作流**让Dify的Agent拥有强大的文档“读写”能力轻松处理复杂任务。
## **二、实战演练:两个案例带你快速上手**
空谈不如实战。下面我们通过两个典型场景,向你展示新版插件的强大之处。
### 准备
1. 在Dify插件页面安装MinerU插件私有化部署的Dify同理
2. 填写API URL等信息
![img](../../../assets/images/Dify_3.png)
使用官方API时令牌Token必须提供👆使用本地部署API时令牌可不填写👇
![img](../../../assets/images/Dify_4.png)
### **案例一解析单文件搭建Chat PDF应用**
想借助AI与你的文档对话吗跟着下面几步轻松实现
#### 第一步创建空白应用选择“Chatflow”
输入应用名称与描述
![img](../../../assets/images/Dify_5.png)
#### 第二步:创建的初始模板中,选择“开始”节点
字段类型选为单文件填写变量名称此处填为input_file,支持文档类型选为文档与图片
![img](../../../assets/images/Dify_6.png)
#### 第三步添加工具节点——MinerU插件来解析上一步开始节点上传的文件
![img](../../../assets/images/Dify_7.png)
#### 第四步设置MinerU的输入变量选择上一步开始节点添加的 `input_file`
![img](../../../assets/images/Dify_8.png)
#### 第五步配置LLM模型
选择“LLM”节点后如果没有模型可用需要单独在插件市场安装这里使用 Deepseek作为示例
“上下文”选择MinerU的输出变量 `text`MinerU解析文档后的markdown格式
![img](../../../assets/images/Dify_9.png)
在“SYSTEM”区域根据实际需求填写提示词可如图填写“在Parse File `text`中提取用户的问题答案”
![img](../../../assets/images/Dify_10.png)
#### 第六步:预览,上传文件并提问机器人关于文档的内容
至此一个简单的文档问答应用Chat PDF搭建完成点击“预览”查看效果如何👇
![img](../../../assets/images/Dify_11.png)
结果如下:
![img](../../../assets/images/Dify_12.png)
#### **第七步:发布与测试**
保存并发布你的应用。现在上传一份PDF或图片你就可以和它自由对话了
![img](../../../assets/images/Dify_13.png)
### **案例二自动化批量处理文档并上传至云端S3**
需要处理大量文档并归档MinerU 插件同样能胜任
#### 第一步:安装 botos3 插件
![img](../../../assets/images/Dify_14.png)
#### 第二步:配置 S3 bucket
![img](../../../assets/images/Dify_15.png)
#### 第三步:创建工作流
选择字段类型为“文件列表”填写变量名称此处填为input_files,支持的文档类型选为文档与图片
![img](../../../assets/images/Dify_16.png)
#### 第四步:添加“迭代”
在“开始”节点后添加“迭代”并配置迭代内的MinerU节点,设置迭代的输入为上一步开始节点的`upload_files`输出节点暂时不填写再整个迭代配置完成后选择MinerU节点Parse File的`full_zip_url`
![img](../../../assets/images/Dify_17.png)
将MinerU的输入参数file选择为迭代器的 `item`
![img](../../../assets/images/Dify_18.png)
![img](../../../assets/images/Dify_19.png)
#### 第五步增加中间节点“代码执行”来转换MinerU的解析结果
**输入变量(变量名称需与代码定义一致)**
- **text**选择MinerU Parse File的输出变量`text`
- **uploadFiles**选择“开始”节点的文件列表`upload_files`用来根据迭代的index索引下标找到对应的原始文件名
- **index**迭代的下标索引,选择迭代器的`index`
**输出变量(变量名称需与代码定义一致)**
- **fileName**String
- **base64**String
![img](../../../assets/images/Dify_20.png)
代码选择JavaScript编写转换代码
暂时无法在飞书文档外展示此内容
以下为Python版本
暂时无法在飞书文档外展示此内容
#### 第六步:配置 Botos3 插件来上传内容
添加工具节点Botos3选择“通过s3上传base64”
![img](../../../assets/images/Dify_21.png)
文件base64选择代码执行图中为**转换MINERU MD文本**输出的base64字段
![img](../../../assets/images/Dify_22.png)
S3对象keyS3 对象key填写文件存储的路径在 botos3 插件配置界面已经填写了 bucket 名称这里只需要填写在bucket下存储的目录即可。选择代码执行**图中为转换MINERU MD文本**的`fileName`
![img](../../../assets/images/Dify_23.png)
#### 第七步:预览效果
连接结束节点至此一个简单的上传到s3的工作流配置完成点击“运行”看看效果👇
![img](../../../assets/images/Dify_24.png)
![img](../../../assets/images/Dify_25.png)
#### 第八步Vis3查看文档
运行结束,可通过[vis3](https://github.com/opendatalab/Vis3?tab=readme-ov-file#features)来查看S3桶内是否已上传解析后的md文件Vis3使用可参考
[新工具开源Vis3大模型数据可视化利器填 AK/SK 直接预览 S3 数据JSON/视频/图片秒开!本地文件也可用](https://mp.weixin.qq.com/s/p3rH4EaoJB-AK7RWeDvOhg)
![img](../../../assets/images/Dify_26.png)