在《基于Workflow的Agent应用设计与实战》一文中我介绍了扣子、dify、fastgpt三款产品,它们可以帮助善于使用工具搭建自己的智能体的朋友们快速实现自己的想法,今天在朋友的提醒下,发现dify也是开源的,在之前的文章中存在错误,这里做一个纠正。最近这段时间,flowise也快速以优秀的姿态出现在大众眼中,和扣子、dify、fastgpt等产品的目标相同,flowise也是作为agent开发平台面向公众的,不过不同的是,它在理念上与前三款存在诸多不同。
同时,作为背靠YC投资的商业开源项目,我认为,在将来它会具有更大的潜质在开发领域占领同类开源产品的头部。
产品第一感
先来讲一讲对该项目的第一感觉。Flowise和上述三款产品不同,它不以创建应用为目标,而是创建Chatflow Agent为目标。它没有简易配置模式,开发者们,只能通过wokflow来创建Agent。
在产品元素方面,和上述三款产品通过创建工具再到创建应用的模式不同,flowise则提供更高集成度的东西,包含Tool, Assistant, Credential, Variable, Document Store。它继承了LangChain里面的概念,开发者在开发时,最好先了解LangChain里面的概念再来使用,就能对它其中的各种素材所要起作用的效果更加理解。
在开发方面,flowise基于nodejs、react开发,在构建工具时使用javascript来创建执行Function,因此,我认为,flowise对前端开发者更加友好。作为前行业资深人员,前端开发人员想要进入AI应用领域,现在已经几乎没有门槛,已经有了成熟的框架,现在又有了flowise可以用来做二次开发。我的直观感受是,flowise更像面向前端/全栈开发者们的strapi。
和前述三款产品不同,flowise目前还没有云端部署,因此无法在线体验,但是启动flowise极其简单,npm i -g flowise之后npx flowise start就可以启动一个本地预览版本,或者直接一个docker-compose up -d命令即可。
集成度更高
在workflow的节点设计上,flowise集成度更高,它不像dify等提供的都是原子化的节点工具,而是对工具进行集成封装后,对应到LangChain的概念上,从而使得它更像是LangChain的可视化版本。
例如在其他工具中,提供了名称为“大语言模型”的节点类型,然后让开发者在节点中选择和配置具体使用OpenAI的模型还是其他官方提供的模型,但是在flowise中,它集成度更高,openAI的一种模型就是一种节点类型,其他模型,甚至不同版本,都是一种节点类型,也就是说你需要根据你自己的需求,来使用不同的模型,而这种方式会给我一种玲琅满目的感觉,有的人觉得不错,有的人就会觉得乱,特别是选择恐惧症的朋友。但如果我们对LangChain比较熟悉,就知道它为什么这么设计,它试图通过封装,把概念对应上,也就是说,在ChatModel这个概念上,你可以有多种选择,而每一个选择它都帮你高度集成好,让你把更多精力放在workflow的设计上。
集成度更高,还体现在节点端口上,我们以一个AutoGPT Agent的使用为例:
对于这个Agent,它依赖于一些tool、向量检索和chat model,它把autoGPT高度集成了,在workflow中,你只需要输入这些必要的素材。
更像是基建而非产品
作为YC投资项目,flowise更像是一款提供驱动的后端平台,想要真正为C端用户提供应用,你还需要自己开发客户端。
不过我发现它有一个marketplace,这里充满了各种想象的可能。它有点像dify的模式,可以使用已经搭建好的workflow作为蓝本二次设计workflow。不过目前它还只提供内置的一些创意,没有做出社区效果,我相信它上cloud版本之后,这里就会是社区效果,如果再提供导入导出能力,那么就可以在不同的flowise站点之间分享。
但作为一款类似strapi一样的全栈后端平台,我觉得它在接口设计上非常优秀。
它可以以多种方式将创建好的chatflow进行部署。一种是嵌入式聊天窗口,通过非常简单的脚本即可。一种是基于API Key的API接口,这种适合在独立的客户端中使用。本质上,第一种也是把平台作为后端,只是flowise官方开发了一个js外挂,然后你需要把后端作为配置传入该外挂而已。还有一种是直接分享聊天机器人,分享出去的链接是有flowise提供的,不需要外挂,但需要登录平台。
结语
今年出现了越来越多好玩的Agent开源项目,flowise就我个人的观察来看,目前还不算完善,属于刚刚起步,看它官网还在筹备cloud版本,相信很快就会提供,甚至还会出面向B端的付费套餐,毕竟这种路径国外的开源项目已经走的很溜了,但对于前端/全栈的开发者们来说,我觉得还是可以入局的,如果之前使用过strapi,那么可以几乎0抵触的接受它,如果玩过langchain,那么使用的难度将极限降低,如果还玩过前文提到的coze等用workflow搭建agent的平台,使用它可以手到擒来。