在前面的过程中,我们用两个不同的工作流给大家展示了下工作流+插件的用法,接下来我们将给大家展示一下,如何在工作流中添加更多更丰富的层次节点,比如在工作流中调用知识库
其实之前大家已经在提示词部分感受到了知识库的使用方法,简单的用提示词限制一下调用规则就可以实现调用
但是其实在前面的节点中,我们也发现,我们在定义大模型检索知识库的时候,并不是完全限制大模型只能检索并输出知识库的内容,而是仅限制热梗输出来源于知识库,所以其实在运行过程中,智能体输出的答案大部分内容都是来自于大模型的,并不完全来源于知识库,尽管这与跟我们的限制规则有关系
但如果是一个客服支持类的智能体:
比如微信客服助手,它只能够回答微信客服手册中的内容,不支持其他的问题,那么我们可以上传一个微信客服手册作为知识库,让智能体只可以输出手册中的内容
那么在工作流中我们该如何实现并调用呢?
首先我们看一下这个知识库相关节点囊括的内容,分别是知识库的写入和检索

经大家反馈,Coze的输入节点已经不再支持上传file文件,所以这部分我们做了一点更新,但是其实本质上的操作原理是一样的,很好理解
1.✍️知识库写入
首先是知识库写入节点,这个节点支持上传文件存至知识库

(1)🤔构思工作流
我们首先添加一个简单的工作流,给大家展示下它的用法,先理清这个工作流的逻辑
在之前的知识库创建阶段就有说过,知识库默认的分段逻辑是很不友好的,所以我们一定要自行对知识库文件进行分段,也就是自定义知识库的分段逻辑
所以当用户上传文件之前,我们一定要预先告知用户
【作为开场白输出一段消息,告诉用户我们的分段处理逻辑是怎样的,要求他按照这个逻辑去预先进行数据处理,不然会导致我们后续的知识库分段紊乱,不利于后期的知识库调用】
然后再完成文件上传(使用快捷指令完成)和存入的工作
这里我们采用的是快捷指令调用工作流+上传文件法,所以需要添加一个快捷指令,但是在实操时,这个快捷指令的设置是会放在工作流做好之后的,因为快捷指令需要调用工作流,那么工作流就必须先设置好
最后输出存入结果,也就是一条消息,告知用户存入成功

如果后期Coze恢复输入节点支持上传文件,依然沿用这个工作流构思思路即可其实这个写入的逻辑很简单,大家自己理解一下就能明白,所以这部分如果后期输入节点恢复上传文件功能,也不再做更新工作流预览:
(2)设置开场白
这个地方其实很简单,大家需要告知用户我们的分段规则
比如我们在创建知识库的时候,使用的是这个分段规则

所以我们呢将智能体的开场白设置为我们的分段规则阐述:

可以看到设置好了之后,我们的智能体对话界面就是这样:

(3)➕添加工作流节点
接下来我们按照这个逻辑添加工作流节点:
开始节点接收用户上传的文件,一个知识库存入节点,结束节点输入存入信息
这里由于Coze系统更新过,消息节点已经变成输出节点了2025.6.25二编:输入节点不再支持上传文件

添加好之后,我们定义下节点相关规则
(4)📥定义开始节点规则
首先是开始节点,默认输入的变量input都是string类型,这个之前就给大家介绍过,是字符串类型
我们需要更改一下变量类型,规定用户的输入为TXT文件(也就是数据库支持的文件格式)

点击变量类型旁边的按钮,然后找到File(文件格式),在下拉菜单中选择TXT(文本文件格式)

(5)✒️定义知识库写入节点规则
然后我们需要定义知识库写入节点的规则,因为前面我们在开始节点已经接受了用户上传的需要存入知识库的文件,所以可以在这里选择前面开始节点的文件作为知识库写入节点的输入

点击以后选择即可

接下来需要再定义下用户上传的文件需要写入的知识库,点击按钮进行添加

这里我们前面已经添加了一个知识库作为用户测试的数据库了,所以直接选择即可
这一步很简单,因为是做节点运用的展示,所以不做赘述了,
大家在实际运用中,如果涉及到需要用户自己上传文件去存入知识库,最好也是添加一个这样的空的用户知识库,但是一定要事先告诉用户存入知识库的文件的分段规则,要求用户必须按照分段规则去自己对知识库文件进行数据分段,不然后续会导致知识库分段紊乱,毕竟知识库的默认分段逻辑真的很不友好

然后配置下数据写入的规则,跟我们前面输入给用户的消息中提到的分段规则一致即可

(6)🚫结束节点
最后就是结束节点的输出了,大家直接输出一段文本即可
而且我们这一步不需要调用输出变量,直接删除它就行

最后就像这样

(7)📥️添加快捷指令完成文件上传工作
工作流设置好之后,就开始快捷指令的设置了
由于coze的输入节点再次更新,不再支持上传file文件
所以我们只能退而求其次,选择使用快捷指令来完成文件的上传工作
快捷指令相关介绍在前面的课程6提到过,所以这里不再多做赘述,直接上手操作
点击加号添加快捷指令

接下来会弹出一个窗口,我们要在窗口里填入内容和定义快捷指令的操作流程

分别输入按钮名称和指令名称

勾选这里的直接使用插件、工作流

在弹出来的窗口点击工作流

然后添加我们刚刚设置并发布好的工作流

可以看到界面现在变成了这样

接下来配置组件,点击这里的文本

选择组件类型为上传文件,然后工序按TXT,点击确认

在指令内容中填入一段消息内容

这样就配置好了,然后点击确认

再次确认

可以看到这里已经出现了一个快捷指令

(7)🧪测试工作流
首先看到,我们已经设置好智能体的开场白为知识库分段逻辑设置,所以第一步我们已经完成了
并且,已经配置了上传文件的窗口,第二步也完成了

然后我们来测试一下工作流
点击按钮上传文件

可以看到弹出了一个窗口,用户可以在这里上传文件,我们上传一个txt文件测试一下

点击小飞机按钮发送给智能体

可以看到运行成功,输出了已存入的消息提醒

我们再回到知识库检查一下存入情况,知识库存入成功,说明我们的工作流没有问题

2.🔎知识库检索
接下来给大家展示一下知识库检索节点

这个节点就很简单了,简单提一下
(1)🛠️创建工作流
我们创建一个工作流,添加知识库检索节点

(2)⚙️配置知识库检索节点
然后配置一下知识库检索节点,将输入链接到开始节点的用户的输入,配置一下我们需要检索的知识库

(3)🚫结束节点
然后是结束节点的配置
链接输出变量为知识库检索的输出output,并且设置下回答内容,需要输出我们的检索结果

(4)🧪测试和调试工作流
a.测试
接下来我们测试一下工作流
首先问一下知识库中存在的内容,然后点击试运行

可以看到输出很顺利,检索结果为我们的文档内容:

然后再测试一下文档中没有的内容,看下工作流会给我们输出什么

输出结果为空,说明工作流不会自行调用大模型胡乱输出,我们的知识库检索节点设置成功

b.调试
不过也有不太友好的地方,我们可以进一步优化下,如果检索节点检索为空的话,输出一条消息告知用户知识库没有相关内容,也就是在知识库检索节点之后设置两种情况

也就是说我们需要添加一个判断检索是否为空的节点,也就是选择器,然后再根据选择器的两种不同情况输出两条不同的消息

我们设置一下选择器的处理逻辑:需要选择判断的条件为知识库检索输出的变量

然后选择条件,点击旁边的按钮,在里面找到选项 为空

这样就是设置好了

接下来再给两条不同的消息进行输出定义
因为没有引用变量,所以我们直接删除变量,在输出内容部分输入我们想要智能体输出的内容

我们这里定义了这样的一条消息作为为空的输出

不为空的输出消息逻辑就很简单了,就是之前我们的结束节点输出的内容

最后就是结束节点,我们不能够再输出任何内容
选择返回变量,然后删除变量即可实现

再来测试一下我们优化后的工作流
可以看到输出为空,是因为我们在工作流中是看不到消息内容的,所以我们发布工作流,到智能体配置界面进行测试

测试检索知识库中没有的内容:

测试检索知识库中存在的内容:

优化非常成功!不过单纯的检索知识库似乎会导致在返回检索结果的时候返回内容有些过于冗杂,用户体验感不是很好,那么我们是不是可以进一步在后面添加一个大模型,来对知识库检索出的内容进行再一次处理并输出呢?
工作流就是这样在实践中一步步去进行优化的,一定要多做多改多尝试
这里就不再做展示了,大家可以自己去尝试下