From 0027f78d8a9c0e5b24353bfb40e34a2393ef265f Mon Sep 17 00:00:00 2001 From: yihong0618 Date: Wed, 11 Dec 2024 13:25:46 +0800 Subject: [PATCH] fix: Multiple Paths Between IF/ELSE Branches Invalidate Conditions and Execute All Paths close #11542 Signed-off-by: yihong0618 --- api/core/workflow/nodes/answer/answer_stream_generate_router.py | 2 ++ api/core/workflow/nodes/end/end_stream_generate_router.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/api/core/workflow/nodes/answer/answer_stream_generate_router.py b/api/core/workflow/nodes/answer/answer_stream_generate_router.py index 8c78016f09a334..126540fbfac280 100644 --- a/api/core/workflow/nodes/answer/answer_stream_generate_router.py +++ b/api/core/workflow/nodes/answer/answer_stream_generate_router.py @@ -147,6 +147,8 @@ def _recursive_fetch_answer_dependencies( reverse_edges = reverse_edge_mapping.get(current_node_id, []) for edge in reverse_edges: source_node_id = edge.source_node_id + if source_node_id not in node_id_config_mapping: + continue source_node_type = node_id_config_mapping[source_node_id].get("data", {}).get("type") if source_node_type in { NodeType.ANSWER, diff --git a/api/core/workflow/nodes/end/end_stream_generate_router.py b/api/core/workflow/nodes/end/end_stream_generate_router.py index ea8b6b50420c99..0db1ba9f09d36e 100644 --- a/api/core/workflow/nodes/end/end_stream_generate_router.py +++ b/api/core/workflow/nodes/end/end_stream_generate_router.py @@ -135,6 +135,8 @@ def _recursive_fetch_end_dependencies( reverse_edges = reverse_edge_mapping.get(current_node_id, []) for edge in reverse_edges: source_node_id = edge.source_node_id + if source_node_id not in node_id_config_mapping: + continue source_node_type = node_id_config_mapping[source_node_id].get("data", {}).get("type") if source_node_type in { NodeType.IF_ELSE.value,