历经2年的开源项目,私有化AI应用开发平台Dify,终于迎来了它的成人时刻。v1.0.0的发布,意味着LangGenius公司认为它已经成熟。
这次更新非常重磅,主要是插件系统。Dify插件是一种模块化组件,能够以即插即用的方式扩展AI应用的功能。通过插件,用户可以轻松地将外部服务和自定义功能集成到Dify应用中,从而提升应用的灵活性和扩展性。
01.
新版本亮点
1
插件系统
Dify开发了一套全新的插件系统,用户可以通过创建后缀为.difypkg的插件包来扩展Dify的功能。通过安装不同的插件包,用户可以为Dify添加多种能力,满足多样化的开发需求。
2
工具与模型解耦
新版本将工具和模型从Dify的核心系统中解耦,使其能够以真正的即插即用方式安装和扩展。用户无需修改核心代码即可轻松添加新功能,极大地提升了开发效率。
3
Agent节点
在工作流中,Dify引入了全新的Agent节点。通过插件,用户可以自定义Agent的行为策略,而不再局限于内置的策略(如CoT)。这为开发者提供了更高的灵活性和控制权。
4
Extension插件类型
Dify新增了一种名为Extension的插件类型。这是一种托管在Dify内的自定义服务,用户可以通过插件自定义其代码,以处理外部Webhook事件,进一步扩展Dify的功能边界。
5
Dify市场
为了促进插件的共享与分发,Dify推出了"Dify市场"。这是一个集中化的平台,用户可以在其中自由发布和下载各种插件,从而快速获取所需功能,推动生态系统的繁荣发展。
02.
升级指南
如果你之前使用的是社区版,那这篇升级指南就是为你准备的。
1
备份数据
首先备份docker compose的配置YAML文件。
cd dify/docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
然后停止docker服务,备份data
docker compose down
tar -cvf volumes-$(date +%s).tgz volumes
2
升级版本
v1.0.0依然可以通过Docker Compose部署,进入项目根目录后
git stash #保存本地的修改
git pull #拉取线上最新代码
git checkout 1.0.0 #切换到1.0.0版本
cd docker #进入docker配置和数据目录
docker compose -f docker-compose.yaml up -d
如下图,会更新镜像
3
迁移插件
这一步很关键,因为以前社区版的工作流中定义了很多工具和模型供应商,现在要将其转换为插件形式存在。
先执行docker ps查看docker-api服务的容器ID。
如上图,继续运行命令进入容器内部,之后执行抽取命令。
docker exec -it 9fb8398707d0 bash
poetry run flask extract-plugins --workers=2
运行过程中会让你确认输入生成的文件名,默认为plugins.jsonl。直接回车即可。
看到"Extract plugins completed.",就意味着执行成功了。
继续执行安装插件的命令,
poetry run flask install-plugins --workers=2
此命令将下载所有必要的插件并将其安装到最新的社区版中。当显示"Install plugins completed.",说明安装成功。
注意,执行过程中会询问输入文件和输出结果,如果前面按默认,没有修改。那这里也是直接回车2次,即可。此过程均需要联网状态,执行GET操作均显示OK时,会等待一段时间,不要心急去打断它。
03.
最后的碎碎念
进入Dify系统,可以看到版本号已经显示1.0.0。
右上出现"插件"按钮。点击之后,跳转到插件页面,之前应用里用到的工具,已经显示在这里了。
切换到"探索Marketplace",可以浏览市场的插件。并且支持从本地安装,Github安装和Marketplace安装。
本地安装适用于自己有能力开发,将其按照插件开发规范做好之后,导入到系统使用。
Marketplace安装适合小白用户,直接可以使用。也提供了一种可能,就是你如果有能力开发并且也对其他人有用,那就能上传到市场,进行售卖变现。
Github安装,介于两者之间。
插件系统,将为开放生态,带来更加多元化的应用形态。
在这里,Dify官方、社区开发者、合作伙伴及企业用户将共同分享创意与成果。提供更为广阔的AI应用落地方案。
如果你对AI的发展感兴趣,欢迎一键三连。有任何问题可以扫码添加好友,我们共同探讨。
