dify 变量聚合器-聚合分组问题
摘要: 在使用Dify变量聚合器时,对HTTP请求状态码进行分组聚合后,下游条件分支节点无法直接判断聚合变量status_code是否等于200,报错"Invalid actual value type: string"。问题复现显示聚合后的状态码被识别为字符串而非数值类型。临时解决方案为在聚合节点后添加代码执行节点,手动将status_code转换为数值类型(Number(s
dify 变量聚合器-聚合分组问题
1.问题背景
在开发项目时需要用到变量聚合器,比如多个不同分支的http请求,需要将状态码聚合在一起,以便下游逻辑可以统一处理(我这里使用了分组聚合)。此时就会有一个问题,在下游的分支判断节点中对分组聚合后的变量status_code值判断是否等于200的时候,直接报错了。错误信息如下:
2.问题复现
我模拟了一下实际的业务流程,方便复现这个问题(目前还不清楚是不是bug)。
以下是我模拟的流程:

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

这样运行程序后就会报最开始的错误。“Invalid actual value type: string”
3。解决方案
目前还没弄清楚这是不是dify中的bug,但是我通过报错信息,知道这是类型出问题了,那么我就可以通过代码执行节点,自己将类型转化成number类型即可,这样这个问题就解决了。
添加的节点位置如下:
其中添加节点的详细信息如下:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)