From f9f2f39a3cfe3638c5f360efc0ba540fc72fdcf6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 13 Feb 2026 13:16:26 -0500 Subject: [PATCH] OpenAI: Increase max iterations for AI Task (#162599) --- homeassistant/components/openai_conversation/ai_task.py | 4 +++- homeassistant/components/openai_conversation/entity.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/openai_conversation/ai_task.py b/homeassistant/components/openai_conversation/ai_task.py index 29badc0bc82..d917a957771 100644 --- a/homeassistant/components/openai_conversation/ai_task.py +++ b/homeassistant/components/openai_conversation/ai_task.py @@ -71,7 +71,9 @@ class OpenAITaskEntity( chat_log: conversation.ChatLog, ) -> ai_task.GenDataTaskResult: """Handle a generate data task.""" - await self._async_handle_chat_log(chat_log, task.name, task.structure) + await self._async_handle_chat_log( + chat_log, task.name, task.structure, max_iterations=1000 + ) if not isinstance(chat_log.content[-1], conversation.AssistantContent): raise HomeAssistantError( diff --git a/homeassistant/components/openai_conversation/entity.py b/homeassistant/components/openai_conversation/entity.py index 2c12e895e5e..45352bdf3d5 100644 --- a/homeassistant/components/openai_conversation/entity.py +++ b/homeassistant/components/openai_conversation/entity.py @@ -481,6 +481,7 @@ class OpenAIBaseLLMEntity(Entity): structure_name: str | None = None, structure: vol.Schema | None = None, force_image: bool = False, + max_iterations: int = MAX_TOOL_ITERATIONS, ) -> None: """Generate an answer for the chat log.""" options = self.subentry.data @@ -632,7 +633,7 @@ class OpenAIBaseLLMEntity(Entity): client = self.entry.runtime_data # To prevent infinite loops, we limit the number of iterations - for _iteration in range(MAX_TOOL_ITERATIONS): + for _iteration in range(max_iterations): try: stream = await client.responses.create(**model_args)