解决扣子工作流‘The input data is incorrect as fields cannot be extracted from null values’报错
简介
新手在使用扣子搭建自己的Agent时,不可避免需要创建工作流。当功能复杂时,最终测试时在结束节点就容易遇到‘The input data is incorrect as fields cannot be extracted from null values’报错。报错信息十分潦草,不会具体指出错误位置,并且结束前流经的每个节点都有正常的输出。
错误原因
当工作流中设计了多个分支,在测试时,如果有任意一个分支未运行,汇总输出的节点就会从该分支读取到一个空值,从而导致工作流运行报错。
例如选择器或意图识别节点会将工作流拆分为多路分支,每次执行时,工作流会根据选择器条件或用户的意图决定运行其中某一个分支,此时未执行的其他分支输出变量为空。此时如果所有分支直接与结束节点连接,就会报错‘The input data is incorrect as fields cannot be extracted from null values’。
方法解决 -- 变量聚合节点
在此处介绍一个节点类型——变量聚合节点。变量聚合节点能够将多路分支的输出变量整合为一个,方便下游节点统一配置。

在工作流有多分支这种场景下,你就可以使用变量聚合节点聚合多路分支的输出变量,变量聚合节点会读取多路分支中第一个不为空的值,供流程下游的节点使用和操作,不用额外处理未运行分支的输出结果,简化了数据流的管理。
简单来就是将多路分支都连接到变量聚合节点,并设置一个输出变量。这样,无论哪条分支被执行,其结果都能通过这个变量被引用与访问,避免了下游节点对相同语义输出变量的重复定义。
使用策略
配置变量聚合节点时,需要选择聚合策略和聚合变量,并按需设置聚合分组。
聚合策略目前只支持一种,即返回每个分组中第一个非空的值,在同组中你可以拖动变量、调整变量位置,以调整输出优先程度。
组数和组内聚合变量数可自行控制,默认只有一个分组 Group1,对应一个输出变量 Group1。注意,每个分组内变量的数据类型必须相同。
更多推荐


所有评论(0)