From 8d479ffb4a983c607dff2adff440e72c56fb1704 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Wed, 29 Apr 2026 12:39:53 +0800 Subject: [PATCH] fix: Output becomes garbled when applying a nested loop to a loop node.#5197 --- .../step_node/application_node/impl/base_application_node.py | 1 + .../flow/step_node/loop_node/impl/base_loop_node.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/application/flow/step_node/application_node/impl/base_application_node.py b/apps/application/flow/step_node/application_node/impl/base_application_node.py index 330bae66441..770a820a59d 100644 --- a/apps/application/flow/step_node/application_node/impl/base_application_node.py +++ b/apps/application/flow/step_node/application_node/impl/base_application_node.py @@ -73,6 +73,7 @@ def write_context_stream(node_variable: Dict, workflow_variable: Dict, node: INo 'child_node': child_node} if real_node_id is not None: + real_node_id = real_node_id + '__' + node.runtime_node_id application_node = application_node_dict.get(real_node_id, None) if application_node is None: diff --git a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py index 56aea5c4d20..860da7874a4 100644 --- a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py +++ b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py @@ -7,6 +7,7 @@ @desc: """ import time +import uuid from typing import Dict, List from django.utils.translation import gettext as _ @@ -172,7 +173,7 @@ def loop(workflow_manage_new_instance, node: INode, generate_loop): content_chunk = (chunk.get('content', '') or '') reasoning_content_chunk = (chunk.get('reasoning_content', '') or '') if chunk.get('real_node_id'): - chunk['real_node_id'] = chunk['real_node_id'] + '__' + str(index) + chunk['real_node_id'] = chunk['real_node_id'] + '__' + node.runtime_node_id + '__' + str(index) reasoning_content += reasoning_content_chunk answer += content_chunk yield chunk