本文适用对象:高级水平
目标:能学会开发Dify的插件,来满足实际业务的工作流使用。
往期回顾
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
今天我们继续回到Dify中来,为它舔砖加瓦。学习自己写一个插件,来帮我们完成现有市场上没有的插件,或者有但不适合自己业务使用的情况。
学习完成,你将能创建自己的插件项目,并将它用到实际的业务中。
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),作者和描述。
按Enter确认后,选择python做为开发语言(虽然有go但告知不支持)
接着选择插件的类型,请实际考虑你要开发的场景。一般就算tool,但如果是需要接入大模型相关的,就选llm。
接着对插件的属性进行配置,通过移动上下箭头选择不同的配置项,按tab键进行修改。选项较多,不清楚的话,暂时可以忽略。不过最好把Storage的Enabled打开。
完事之后,要求输入一个可使用的最低版本(这里指的是你希望哪些版本的Dify能用),那就输入一个1.0.0吧。
命令行提示创建成功,检查电脑当前目录。新创建了一个以插件名为名的目录,其中初始化文件一堆。
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的发展感兴趣,欢迎一键三连。有任何问题可以扫码添加好友,我们共同探讨。
