dify 变量聚合器-聚合分组问题

1.问题背景

在开发项目时需要用到变量聚合器,比如多个不同分支的http请求,需要将状态码聚合在一起,以便下游逻辑可以统一处理(我这里使用了分组聚合)。此时就会有一个问题,在下游的分支判断节点中对分组聚合后的变量status_code值判断是否等于200的时候,直接报错了。错误信息如下:
在这里插入图片描述

2.问题复现

我模拟了一下实际的业务流程,方便复现这个问题(目前还不清楚是不是bug)。
以下是我模拟的流程:

在这里插入图片描述
其中变量聚合的节点信息如下:
在这里插入图片描述
主要就是对上流的多个http请求的结果进行聚合,这里聚合的是status_code变量。
紧接着对status_code在条件分支节点进行判断是不是200,200表示成功,否则失败。
分支节点的具体信息如下:

在这里插入图片描述
这样运行程序后就会报最开始的错误。“Invalid actual value type: string”

3。解决方案

目前还没弄清楚这是不是dify中的bug,但是我通过报错信息,知道这是类型出问题了,那么我就可以通过代码执行节点,自己将类型转化成number类型即可,这样这个问题就解决了。
添加的节点位置如下:
在这里插入图片描述
其中添加节点的详细信息如下:
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐