From 44d13d60ddac2334bed3bae78a1d4fb27c22840b Mon Sep 17 00:00:00 2001 From: GuanMu Date: Wed, 11 Jun 2025 12:43:11 +0000 Subject: [PATCH] fix: refine output retrieval from task state metadata in advanced chat pipeline --- .../app/apps/advanced_chat/generate_task_pipeline.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/api/core/app/apps/advanced_chat/generate_task_pipeline.py b/api/core/app/apps/advanced_chat/generate_task_pipeline.py index a298f451a1..d94a14ed04 100644 --- a/api/core/app/apps/advanced_chat/generate_task_pipeline.py +++ b/api/core/app/apps/advanced_chat/generate_task_pipeline.py @@ -182,7 +182,12 @@ class AdvancedChatAppGenerateTaskPipeline: extras = {} if stream_response.metadata: extras["metadata"] = stream_response.metadata - final_outputs = self._task_state.metadata.outputs if self._task_state.metadata and hasattr(self._task_state.metadata, 'outputs') else {} + + # Retrieve outputs from task state metadata, which is populated earlier + final_outputs = {} + if self._task_state.metadata and hasattr(self._task_state.metadata, 'outputs'): + final_outputs = self._task_state.metadata.outputs + return ChatbotAppBlockingResponse( task_id=stream_response.task_id, data=ChatbotAppBlockingResponse.Data( @@ -505,7 +510,8 @@ class AdvancedChatAppGenerateTaskPipeline: task_id=self._application_generate_entity.task_id, workflow_execution=workflow_execution, ) - self._task_state.metadata.outputs = workflow_finish_resp.data.outputs.get('outputs', {}).get('outputs') + workflow_outputs_data = workflow_finish_resp.data.outputs.get('outputs', {}) + self._task_state.metadata.outputs = workflow_outputs_data.get('outputs') yield workflow_finish_resp self._base_task_pipeline._queue_manager.publish( QueueAdvancedChatMessageEndEvent(), PublishFrom.TASK_PIPELINE