COZE工作流

COZE工作流

之前的某个时刻,看见同事把一个资料里面的内容,想要整理成一份思维导图,主动的给其描述了一下

先把内容输入到大模型里面,让大模型整理内容输出为层级的文本

然后把文本内容导入到思维导图工具中,展示成思维导图

最后基于思维导图再进行审核修改

当时想,这样的过程,完全可以撸段脚本进行中间过程的自动化处理,奈何懒~~~当时看见coze的时候一直没有玩,基于自己对某些厂商软件的一种成见。

Image.png

一直坚持用perplexity来回倒腾,偶尔用用gemini,chatgpt。用midjourney的时候也是先用ppl先做一个预处理,然后再交给mj去生成图片,当然结果就是牺牲了效率。上周忽然想着用用看coze,重新登录了注册后久未打开的账号。

先说结论

可以自动化脚本处理一些你日常生活和工作中的场景,当然需要很用心的编排自己的工作流,coze市场里面有一些工作流敢于收费,可以从侧面说明确实有正确的使用场景。

比如我要去旅游,可以开始只输入出发地、目的地、旅行日期,然后工作流自行依次处理关于天气,交通,人流量,住宿等信息进行分析,然后借由大模型进行行程安排,最后把结果返回。

比如水处理自动获取传感器数据,自动收集环境数据天气、温度等,对传感器数据进行预处理和分析,再加上条件判断节点对一些已知的数据,是否增加药剂进行判定,增加调度节点调用设备,如有警报则增加警报判定,最后生成报告发送给指定人员。

客户服务自动分类巴拉巴拉等等各种功能。

当然前题是玩的明白。

理解一下工作流

工作流(Workflow)是指在完成某项业务时,各个任务按照一定的顺序和规则自动或半自动地进行的一系列操作。

工作流就跟流水线一样,从“开始”开始,任务在预先设定节点之间流动,到“结束”结束。

Image.png

没错,就是这两个默认的节点,不能复制,不能删除。

开始只有输入,结束只有输出,其它的中间节点都会有输入与输出。

中间的所有节点我暂时叫它处理节点

处理节点

处理节点有输入和输出,输入可以有N个参数,输出也可以N个参数,参数当然也可以不同类型的数据源。

不同类型的处理节点会不同的附加设置,比如:

代码:可以编写代码

大模型:可以写提示词,可以增加技能

工作流:那就更复杂了,可以把原来的工作流添加到里面,也就是可以把N个小工作流合并成一个大工作流,就好象拼乐高一样,或者跟程序开发的模块化一样。

其它XXX不列了。

最后我们要做的就是节点之间的连线+配置。

Image.png

梳理一下创建过程

所以我们梳理一下整个工作流的开发过程。

  1. 分析需求场景
  2. 创建工作流
  3. 添加节点
  4. 连接节点
  5. 设置节点
  6. 运行

来个脑图当示例

根据我一开始描述的实际场景,进行分析,我把资料换成了从指定的url获取数据。

  1. 抓取一个url的页面内容
  2. 配置一个节点读取url的内容,节点会返回一组JSON数据,里面会有想要的字段
  3. 再增加一个大模型节点,把抓回来的数据整理成脑图需要的格式
  4. 再增加一个生成脑图的节点
  5. 最后连接上结束。

Image.png

添加节点这种点击页面上按钮的操作略过,节点里会有不同的类型,大模型、插件、代码等等,知识库的写入就是把结果存到知识库,其它不一样的类型,需要用的时候看官方的提示说明。

Image.png

这里主要是添加了链接读取、生成脑图这两个插件。

Image.png

现在就是一个一个的配置节点,不同的节点会有一些区别,不过本质上是大同小异,把输入的内容经过节点转化成输出的内容。

链接读取

Image.png

大模型

Image.png

生成脑图

Image.png

这些内容配完之后,点一下试运行。

输入一个地线地址。虚线是流水线当前进行到的节点。

如果中间有节点未配置,系统会提示的,进行修复就行了。

Image.png

Image.png

到这里这个简单的示例完成工作了,只是里面需要更精确的结果的话,大模型那段需要仔细的进行调试,如果功能不满足的话,跟comfyUI一样,基于中间的节点再进行扩展,换成另一个工作流都行,只要保证每一个节点能闭环。

进阶一个页面

处理完这个流程之后,注意到上面有一个标签页,我们一直在业务逻辑这个标签里面。那后面的用户界面是啥呢。

Image.png

本着互联网从业人员的优势,一看这页面肯定明白这是一个低代码页面,而且可以肯定页面可以跟业务逻辑相关联。

话不多说,试排一个验证一下:

拉一个输入框因为需要输入起始的url

再拉一个图片控制,显示最后的生成的图片

Image.png

配置输入框,失去焦点的时候触发工作流,选择事先保存的工作流,上面的工作流我命名的名字为img2mind。工作流的输入为当前控件的名称的值{{Textarea1.value}}

继续配置图片的属性,把工作流最后的输出结果绑定到图片上。

Image.png

Image.png

经过漫长的等待,确定功能实现了,如果需要更好的体验,把中间增加上loading的效果更好,因为等待时间过长,我一度以为他没有生效。

最后一个提示:

两次的思维导图不一样,一是因为大模型每一次的内容组织都不会一样,二是我把提示词写得过去简单了。

最后跑歪一个

最后想试一个图片文字识别,然后整理成表格排序的工作流,整着整着就整成基于这个“河长牌”的文字重新描述,转换成图片生成的提示词,生成图片,最后把描述文字和图片都发送到结束节点。

整都整了就放在最后了。

Image.png

Image.png

图片生成跟midjourney的区别太大了