Dify应用实战(20) - 插件开发(上)

本文适用对象:高级水平


目标:能学会开发Dify的插件,来满足实际业务的工作流使用。

往期回顾

|

Dify应用实战(1) - 知识库检索

| |

Dify应用实战(2) - 联网工具

| |

Dify应用实战(3) - 代码处理

| |

Dify应用实战(4) - 生成语音

| |

Dify应用实战(5) - 使用模版

| |

Dify应用实战(6) - 图片生成(上)

| |

Dify应用实战(7) - 图片生成(下)

| |

Dify应用实战(8) - 对话记忆

| |

Dify应用实战(9) - 问题分类

| |

Dify应用实战(10) - 循环处理

| |

Dify应用实战(11) - 条件分支

| |

Dify应用实战(12) - 数据库查询

| |

Dify应用实战(13) - 工具调用

| |

Dify应用实战(14) - 结果聚合

| |

Dify应用实战(15) - 对象存储

| |

Dify应用实战(16) - 数据可视化

| |

Dify应用实战(17) - 使用MCP服务

| |

Dify应用实战(18) - 发布成MCP服务

| |

Dify应用实战(19) - 邮件配置

|

今天我们继续回到Dify中来,为它舔砖加瓦。学习自己写一个插件,来帮我们完成现有市场上没有的插件,或者有但不适合自己业务使用的情况。


学习完成,你将能创建自己的插件项目,并将它用到实际的业务中。

picture.image

01.

概念解析

当Dify升级到1.0.0的时候,项目架构做了一个比较大的升级,就是将原来的工具改为插件。  
所以从低版本升级到1.0.0,一定需要手工做迁移。但正是因为这次架构的升级,让Dify的核心功能,和模型,工具等完全的剥离开来。






再经过不断的优化,形成了比较丰富的插件生态。现在插件类型也从原来的**模型****工具** ,进一步拓展到**策略****扩展** 等不同作用的分类。






当官方或者社区提供的插件无法满足实际业务的时候,就给了自己扩展它的能力。让Dify变成自己公司的定制型系统。特别是与自己公司现有系统的集成,插件的方式,真的是特别的友好。

02.

快速入门

在开发之前,还有一些准备工作需要完成。


1.插件CLI工具


2.Python运行环境(version≥3.12)








①Dify插件CLI工具又称为dify-plugin-daemon,可以被视作插件开发SDK。


去Github上找到dify-plugin-daemon项目,去release下载最新的版本。








打开终端执行:dify-plugin-windows-amd64.exe version。


如果命令行返回v0.1.2,说明操作正确。








②执行命令dify-plugin-windows-amd64.exe plugin init创建项目,输入插件名(demo\_token\_request),作者和描述。

picture.image

按Enter确认后,选择python做为开发语言(虽然有go但告知不支持)







接着选择插件的类型,请实际考虑你要开发的场景。一般就算tool,但如果是需要接入大模型相关的,就选llm。

picture.image

接着对插件的属性进行配置,通过移动上下箭头选择不同的配置项,按tab键进行修改。选项较多,不清楚的话,暂时可以忽略。不过最好把Storage的Enabled打开。

picture.image

完事之后,要求输入一个可使用的最低版本(这里指的是你希望哪些版本的Dify能用),那就输入一个1.0.0吧。


命令行提示创建成功,检查电脑当前目录。新创建了一个以插件名为名的目录,其中初始化文件一堆。

picture.image

03.

环境创建

经过上面的操作,Dify插件开发还没正式开始。






现在我们再把Python运行环境设置一下。为了避免污染全局的Python环境,最好是创建一个虚拟环境并安装依赖包(以miniforge为例)。
  
conda create -n dify-plugin python=3.12  
# 激活环境  
conda activate dify-plugin  
# 安装依赖包  
pip install -r requirements.txt
设置完了之后,就可以使用自己熟悉的IDE打开项目,进入代码开发阶段了。

总结

今天我们对Dify的插件开发开了一个头,如果有实际需要的同学,请一定记得关注后续文章,以便获得完整的指南。


当全部学习之后,一定可以完成属于自己的插件开发,让Dify系统变得更加的得心应手。

如果你对AI的发展感兴趣,欢迎一键三连。有任何问题可以扫码添加好友,我们共同探讨。

picture.image

0
0
0
0
评论
未登录
暂无评论