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 095b2d4650..232e02ec6d 100644 --- a/api/core/app/apps/advanced_chat/generate_task_pipeline.py +++ b/api/core/app/apps/advanced_chat/generate_task_pipeline.py @@ -186,6 +186,9 @@ class StreamEventBuffer: idx = self._tool_call_id_map[tool_call_id] self.tool_calls[idx]["result"] = result self.tool_calls[idx]["elapsed_time"] = tool_elapsed_time + # Remove from map after result is recorded, so that subsequent calls + # with the same tool_call_id are treated as new tool calls + del self._tool_call_id_map[tool_call_id] def finalize(self) -> None: """Finalize the buffer, flushing any pending data."""