在这里插入图片描述

个人主页:矢望
个人专栏:C++LinuxC语言数据结构Coze-AI

一、什么是工作流?

Coze工作流是一系列可执行指令的集合,核心功能在于实现业务逻辑或完成特定任务。作为AI应用开发的结构化框架,它为应用/智能体的数据流动和任务处理提供标准化路径,其设计初衷是解决大模型能力与业务场景落地之间的衔接问题。

工作流并非简单的任务序列,而是结构化的能力整合载体,既包含对大模型调用、数据处理、逻辑判断等基础指令的编排,也支持通过可视化界面实现零代码/低代码配置,使不同技术背景的开发者均能参与AI应用构建。

简单而言,工作流功能丰富、流程清晰,它是大模型能力的一个补充。

二、工作流的分类

继续在扣子开发平台:访问地址https://www.coze.cn/home点击跳转

Coze提供WorkflowChatflow双模式工作流,分别适配不同业务场景需求。
在这里插入图片描述
工作流Workflow:面向数据自动化处理场景,通过顺序执行节点链实现特定功能,适用于标准化、批量化任务。

对话流Chatflow:基于对话场景的特殊工作流,通过多轮交互动态调整流程逻辑,适用于需要上下文理解的服务场景。

工作流是标准化的流程,中间过程无法添加反馈,而对话流是对话方式,中间过程可以添加反馈。

  • 创建工作流

在这里插入图片描述

工作流的名称只允许字母、数字、下划线。工作流描述:简洁说明工作流的核心功能与应用场景,帮助用户和大语言模型理解其用途。
在这里插入图片描述

注意:工作流只有在发布之后才能被智能体或者应用使用。

二、基础节点

基础节点是构建 Coze 工作流的核心基础单元,作为流程中的处理单元,通过输入/输出模型实现数据传递与任务执行,其自上而下的层次结构与节点间的执行顺序连接构成了工作流的基本框架。核心类型包括开始节点、结束节点、大模型节点、插件节点和工作流节点,各类节点需通过明确的输入参数(参考变量或自定义值)与输出端实现协同。

2.1 开始和结束节点

在这里插入图片描述

当开始节点和结束节点直接连接在一起的时候,开始节点的输入内容,就是结束节点的输出内容。
在这里插入图片描述

2.2 大模型节点

功能定位: 集成大语言模型能力处理文本生成任务,支持持基于输入内容生成结构化或非结构化输出,是实现自然语言理解与生成的核心节点。

技能: 支持为大模型节点配置技能,添加插件、工作流或知识库,扩展模型能力的边界。

支持写入系统提示词和用户提示词。如下,在系统提示词上,我给这个大模型的定义是语言优化智能体。
在这里插入图片描述
在这里插入图片描述

再将结束节点的输入改为大模型的输出,我们试运行。
在这里插入图片描述

2.3 插件节点

核心功能:插件节点是 Coze 工作流中实现工具集成的核心单元,通过连接外部服务与内部逻辑,扩展机器人的功能边界。其核心价值在于将第三方 API、服务能力转化为可编排的工作流组件,支持与其他节点(如变量节点、条件节点)的数据交互,构建自动化业务流程。

Coze 插件体系分为内置插件与自定义插件两类,分别满足不同功能需求:
内置插件:平台提供超过 60 种开箱即用的工具,覆盖信息检索、多模态处理、生产力工具等领域。典型场景:电商客服通过「商品推荐插件」实时调取库存数据。

自定义插件:支持用户通过 API 配置创建专属工具,适用于企业内部系统集成或个性化需求。例如,通过配置天气 API 实现城市天气查询。

自定义插件需遵循「同一插件内工具域名一致」原则,每个插件可包含多个 API 工具。插件节点在本质上是一个外部服务的可调用API,每一个插件节点需要清楚地知道输入参数与输出参数。

例如使用一个新闻插件,并设置好插件从开始节点获取输入,接着试运行。
在这里插入图片描述

2.4 工作流节点

功能定位:在一个工作流中,你可以将另一个工作流作为其中的一个步骤或节点,实现复杂任务的自动化。例如将常用的、标准化的任务处理流程封装为不同的子工作流,并在主工作流的不同分支内调用这些子工作流执行对应的操作。

输入与输出 :工作流节点的输入和输出结构取决于子工作流定义的输入输出结构,不支持自定义设置。在工作流节点中你需要为必选的输入参数指定数据来源,支持设置为固定值或引用上游节点的输出参数。

批处理:工作流节点默认单次运行,对于输入信息只做一次处理。你也可以设置此节点使用批处理模式,按照配置多次运行。每次运行都会分配参数值,直到达到次数限制或者列表的最大长度。

异常设置 :工作流节点支持忽略异常功能。开启此功能后,如果试运行工作流时此节点运行失败,工作流不会中断,而是继续运行后续下游节点。如果下游节点引用了此节点的输出内容,则使用此节点预先配置的默认输出内容。

回顾之前内容,现在我们有一个work_flow_1的工作流,它是用来查询新闻的,现在我们把它发布出去,接下来再创建一个工作流调用它。
在这里插入图片描述
我给这个大模型的任务是优化用户的提问,然后将处理之后的问题内容给子工作流,最后输出。
在这里插入图片描述

三、业务逻辑节点

3.1 选择器节点

核心功能:实现条件分支逻辑,类似编程中的if-else语句。
在这里插入图片描述
如上输入是1就会执行上面的语句,否则就执行下面的。

3.2 意图识别节点

意图识别节点能够让智能体识别用户输入的意图,并将不同的意图流转至工作流不同的分支处理,提高用户体验,增强智能体的落地效果。
在这里插入图片描述

试运行
在这里插入图片描述
如上,正确匹配意图。

3.3 循环节点

循环是一种常见的控制机制,用于重复执行一系列任务,直到满足某个条件为止。扣子工作流提供循环节点,当需要重复执行一些操作,或循环处理一组数据时,可以使用循环节点实现。
在这里插入图片描述
试运行
在这里插入图片描述

3.4 批处理节点

工作流执行时,每个节点按顺序运行一次,如果需要一次性运行多次,批处理节点适用于大量数据并行处理的场景。相对于添加多个相同的节点执行任务,批处理节点的效率更高。
在这里插入图片描述
试运行
在这里插入图片描述

3.5 变量聚合节点

工作流变量聚合节点能够将多路分支的输出变量整合为一个,方便下游节点统一配置。
在这里插入图片描述
试运行
在这里插入图片描述

3.6 代码节点

通过Python/JavaScript编写脚本实现高阶数据处理,覆盖JSON解析、格式转换、复杂计算等场景。支持AI辅助生成代码,降低开发门槛,我们重点使用python语言来编写脚本。
注意:扣子里面的代码节点有限制,不能访问外部服务,仅限于处理工作流中的数据。

  • 什么是JSON

JSON(JavaScript Object Notation)是一种轻量级的数据格式,用于在不同系统之间有序地、高效地存储和交换文本信息。

JSON可以类比成计算机世界里的标准化快递单。它用所有人都能理解的键值对(如 电话(键):13800138000(值) )和列表清晰地组织了信息。这种用一种统一的、标准化的格式来打包数据的方式,确保发送方和接收方都能毫无歧义地理解里面的内容。

{
	 "name": "张三",
	 "phone": 13800138000,
	 "address": {
	 "city": "北京",
	 "street": "海淀区xxx街道"
	 },
	 "packing List":"书籍"
 }
  • python 异步编程

首先理解什么是同步编程,做一件事时,是一直阻塞在哪里直到把这件事办完再做其它的事情,这种编程方式会有大量实践浪费在等待上。而异步编程,做这件事的时候,不用等在旁边,而去做一些其他事,这样充分利用了等待时间。

异步编程的核心思想就是:避免让昂贵的 CPU 资源浪费在低效的 I/O 等待上

Python 中可以采用 async 来实现异步编程,async :声明异步函数,在普通 def 前面加上 async ,这个函数就变成了一个“异步函数”,调用它时,它不会立即执行,而是会返回一个 coroutine 对象(协程对象)。协程Coroutine 是异步编程的基本单位,你可以把它理解为一个可以暂停和恢复的函数。

async def my_async_function():
 return "Hello"
# 调⽤它不会直接运⾏,⽽是得到⼀个协程对象
result = my_async_function()
print(result) # <coroutine object my_async_function at 0x...>

接下来就简单写一个加法程序。
在这里插入图片描述

在这里插入图片描述
试运行
在这里插入图片描述

四、数据库节点

对数据库做操作无非就是增删查改,所以数据库节点设计的就是增删查改。在工作流中操作数据库节点的前提是要有一个数据库。我们之前创建了一张运动数据的数据表,这里就依旧使用这张数据表做演示。
在这里插入图片描述

4.1 新增数据节点

在这里插入图片描述
如上将数据表所需要的三个选项分别添加对应上就可以进行新增数据了。

试运行
在这里插入图片描述
如上,一一对应的添加是肯定可以添加到数据库的。我们将工作流发布后让智能体填写试试。
在这里插入图片描述
再次查看数据表:
在这里插入图片描述

4.2 更新数据节点

此节点中需要指定待操作的数据库表、更新条件、待更新的字段名称及字段值,每次执行此节点时将更新所有符合条件的数据。

在这里插入图片描述
如上,选择好更新条件,并选择好符合条件后要设置的字段即可。现在在向数据表中添加几个数据。
在这里插入图片描述
接下来,将工作流发布,测试一下更新数据。

在这里插入图片描述
数据表
在这里插入图片描述

4.3 查询数据节点

此节点中需要指定待操作的数据库表,如果你有更精细化的查询需求,可以添加查询字段、查询条件、排序方式和查询上限等配置。
在这里插入图片描述

如上和更新相同,将查询条件和查询字段设置好就行了。接着发布让智能体查询。
在这里插入图片描述

4.4 删除数据节点

此节点中需要指定待操作的数据库表和删除条件,每次执行此节点时将删除所有符合条件的数据。
在这里插入图片描述
如上将删除条件对应好即可。
在这里插入图片描述
数据表
在这里插入图片描述

如上,扣子的数据库可以不用sql语句来实现增删查改的效果。

五、知识库节点

5.1 写入知识库

知识库写入节点用于向指定的知识库中添加内容。
在这里插入图片描述
这里随手创建一个知识库,就可以向里面添加内容了。

试运行
在这里插入图片描述
如上,上传成功,查看知识库中的文件。
在这里插入图片描述
发布工作流,试着用智能体上传。
在这里插入图片描述
查看知识库中的文件:
在这里插入图片描述

5.2 检索知识库

知识库检索节点可以基于用户输入查询指定的知识库,召回最匹配的信息,并将匹配结果以列表形式返回。
在这里插入图片描述

如上,设置好要查询的知识库即可。发布知识库,试着使用智能体查询。
在这里插入图片描述
如上,它检索到了正确的文件中的适配内容。

5.3 删除知识库节点

在这里插入图片描述
匹配好目标数据库即可,接下来,发布工作流,试着用智能体删除节点。
在这里插入图片描述
如上删除成功,我们查看知识库:
在这里插入图片描述
只剩下了一个,当然删除知识库节点,对我们并不友好,我们需要输入文档的id才能删除,不如直接在后台手动删除。

5.4 其它节点

工作流里面还有很多其它节点,比如图像处理、音视频处理等,比较的繁杂。
在这里插入图片描述

总结:
以上就是本期博客分享的全部内容啦!如果觉得文章还不错的话可以三连支持一下,你的支持就是我前进最大的动力!
技术的探索永无止境! 道阻且长,行则将至!后续我会给大家带来更多优质博客内容,欢迎关注我的CSDN账号,我们一同成长!
(~ ̄▽ ̄)~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐