浏览器不支持(未启用)JavaScript,本页面的某些功能无法正常使用

Dify VS FastGPT —— 两个出色的整合大模型应用的开源项目

Divider Line

在基于大语言模型 API 的生态上,有那么几种类型的应用解决不同的痛点:

  1. 使用最广泛的是网页或软件在API上套壳,方便有网络障碍和弹性需要的用户;
  2. 检索增强生成(RAG),适用于垂直和私有化数据领域;
  3. 结合第三方软件,包括 SaaS 平台、本地工具,扩展模型的能力;
  4. 低代码拖控件调度工作流,降低个性化定制的门槛;
  5. 统一API接管,应对各家模型如雨后春笋般发布的场景。

langgenius/difylabring/FastGPT 将以上功能集于一身,是开源AI项目中的佼佼者,类似的项目还有 BishengTaskingAI(国外的新起之秀)等。综合体验下来,我选择 Dify 和 FastGPT 的社区版作为其中代表进行比较, 这两个应用也是我使用最多的,在不同服务器上都部署过,以下评价并非严谨的测试,仅作为主观使用感受总结。

安装和运行环境:

Dify FastGPT 对比
向量数据库 weaviate、qdrant、milvus pgvector
Dify支持更多底层数据库,并且支持在不同的数据库迁移数据
网关 前端接入厂商,少数厂商支持代理 后端可统一API代理,如OneAPI、NewAPI FastGPT可使用更好的模型管理底座
资源消耗 3个应用容器,依赖4个底层服务 一个应用容器,依赖两个底层服务,1个可选的代理网关和本地模型 FastGPT非工作模式下不超过1G,Dify消耗更多内存,日程占用2GB左右
配置 复杂的安装环境配置,简单的前端模型配置 简单的安装环境配置,繁琐的后端模型配置 Dify前期配置难一些,初次部署容易出错;FatGPT需要对模型更熟悉
升级 一键升级,自动迁移 升级后需要单独命令行迁移数据库,重要版本更新可能还需要手动改表操作 Dify完胜

综合这一环节,Dify对服务器硬件和网络环境有更高的要求,但具有运维时间成本优势。

UI 体验:

Dify FastGPT 对比
入口便捷性 应用入口多一步开始对话操作 入口简单 FastGPT便捷
操作灵敏度 网页打开慢,不跟手 轻便 FastGPT性能占优
信息展示 富文本展示简陋 Markdown渲染更鲜明 FastGPT对话页观感更好
输入框 图片支持URL上传
支持应用置顶
生成的图片保存到服务器不丢失
支持对话条目删除、重新生成
显示token消耗、响应时间等
在图片功能上Dify更方面,文本上FastGPT更方便
移动布局 手机上内容被样式块挤压严重 合理的弹性元素控制 FastGPT更好的响应式布局
稳定性 偶尔延迟较高,长文本输出偶尔出错 目前没发现明显的BUG FastGPT性能占优
上手难度 丰富的文档 缺乏功能说明 Dify对新手用户更友好

综合这一环节,FastGPT在前端交互体验上更好用。

功能比较:

Dify FastGPT 对比
多租户 支持多用户(团队内数据透明),多团队 单用户 Dify适合团队,FastGPT只适合个人使用,当然考虑到其轻量,前端只需一个容器,可以一机多部署
脚本功能 支持本地沙盒,运行python和JavaScript脚本 不支持脚本 Dify功能更强,不过FastGPT也可以用http调用外部脚本
高级编排 Workflow支持更多内置工具 支持应用调用 两者的工作流编排都还比较简陋,调度非常不灵活,不支持模块复用、循环、变量引用等比较复杂的函数功能
调试功能 支持多模型同步调试、单节点调试、调试历史记录 只能聊天框调试 Dify工作流功能更强大
模型参数 支持更多模型参数设置 只支持温度和tokens长度 Dify自由度更高
其他社区版功能 版权和隐私政策声明,样式定制、内容审察,
GitHub、Google注册和登录
Dify对社区更友好

综合这一环节,Dify 预制的功能更多,不过考虑到这些功能还不够成熟或者可替代性强,在使用体验上还是UI交互影响更大。

兼容性和数据保护

Dify FastGPT 对比
聊天导出 不支持聊天内容导出 支持html、markdown、pdf导出 FastGPT胜
知识库导出 不支持知识库导出 支持知识库分段内容导出为csv FastGPT更友好,知识库分段是个细活
知识库分类 支持对文档进行元数据标注和分段关键字标注 支持文件夹管理和原始文档留档 各有好处
应用导出 DSL文件导出,与其他平台兼容性更好 自定义json,方便在不同fastgpt部署中导入 Dify更方便
应用API 自有格式 和OpenAI的API格式兼容,方便接入其他聊天工具 FastGPT更方便

综合这一环节,FastGPT社区版弥补了它只能单用户的缺陷。

项目前景

比较两者代码仓库的贡献历史,Dify是团队的作品,更重视产品的设计,而FastGPT几乎是个人独立开发,FastGPT早期快速迭代,更快的引入新功能,追求良好的性能;

FastGPT早期全免费开源给用户,Github上的 start 数一度比Dify多,从4.0版开始才改了开源协议,转而对社区版做了功能限制,卖商业套件,而Dify团队致力于运营一个 SaaS 平台,社区版功能和平台版差别不大。
Dify对第三方产品的接入持比较积极的态度,对个人和小团队用户更加友好,因而有一个良好的社区生态,而FastGPT对数据的导入导出更开放,并倾向于与自家的产品结合起来,例如Sealos、Laf。

在开发进度上,FastGPT早期积攒了一大波用户,但自从重心放在商业版之后开发放缓,而Dify稳步迭代,在功能上逐渐超越FastGPT。

另外个人感觉FastGPT在低代码开发工作流应用或插件的设计上更优秀,有点像面向对象的风格,支持应用为其他应用所调用、前端也可以直接使用插件、全局变量可随时访问和修改,以及参数设置更加灵活,包括在调用AI模块时通过引用前面变量的方式来传入模型选择和历史记录。而Dify的的优点是将很多热门工具和第三方API接口内置在系统组件中,对初级用户更友好。

总结,如果是普通用户,我更推荐Dify,如果具有一定的代码开发能力,我推荐FastGPT。

Divider Line
标签: 人工智障
作者: 宁迦
日期:2024年04月21日

评论