From 09c6320b2c7b9e4f6a6b043f82b00c981a381340 Mon Sep 17 00:00:00 2001 From: zhangshibo Date: Thu, 8 May 2025 16:54:36 +0800 Subject: [PATCH] fix: loop workflow remove reachable node that failed to streaming llm response --- api/core/workflow/nodes/answer/base_stream_processor.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/core/workflow/nodes/answer/base_stream_processor.py b/api/core/workflow/nodes/answer/base_stream_processor.py index e4f2478890..6671ff0746 100644 --- a/api/core/workflow/nodes/answer/base_stream_processor.py +++ b/api/core/workflow/nodes/answer/base_stream_processor.py @@ -95,7 +95,12 @@ class StreamProcessor(ABC): if node_id not in self.rest_node_ids: return + if node_id in reachable_node_ids: + return + self.rest_node_ids.remove(node_id) + self.rest_node_ids.extend(set(reachable_node_ids) - set(self.rest_node_ids)) + for edge in self.graph.edge_mapping.get(node_id, []): if edge.target_node_id in reachable_node_ids: continue