Merge pull request #3960 from sysradium/fix-realtime-calls
Treat conversation_already_has_active_response as non-fatal in Realtime API
This commit is contained in:
1
changelog/3960.fixed.md
Normal file
1
changelog/3960.fixed.md
Normal file
@@ -0,0 +1 @@
|
||||
- Fixed OpenAI Realtime, OpenAI Realtime Beta, and Grok realtime services treating `conversation_already_has_active_response` as a fatal error. These services now log it as a non-fatal debug event when a response is already in progress.
|
||||
@@ -677,7 +677,10 @@ class GrokRealtimeLLMService(LLMService):
|
||||
elif evt.type == "response.function_call_arguments.done":
|
||||
await self._handle_evt_function_call_arguments_done(evt)
|
||||
elif evt.type == "error":
|
||||
if evt.error.code == "response_cancel_not_active":
|
||||
if evt.error.code in (
|
||||
"response_cancel_not_active",
|
||||
"conversation_already_has_active_response",
|
||||
):
|
||||
logger.debug(f"{self} {evt.error.message}")
|
||||
else:
|
||||
await self._handle_evt_error(evt)
|
||||
|
||||
@@ -747,7 +747,10 @@ class OpenAIRealtimeLLMService(LLMService):
|
||||
await self._handle_evt_function_call_arguments_done(evt)
|
||||
elif evt.type == "error":
|
||||
if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt):
|
||||
if evt.error.code == "response_cancel_not_active":
|
||||
if evt.error.code in (
|
||||
"response_cancel_not_active",
|
||||
"conversation_already_has_active_response",
|
||||
):
|
||||
logger.debug(f"{self} {evt.error.message}")
|
||||
else:
|
||||
await self._handle_evt_error(evt)
|
||||
|
||||
@@ -556,7 +556,10 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
||||
await self._handle_evt_audio_transcript_delta(evt)
|
||||
elif evt.type == "error":
|
||||
if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt):
|
||||
if evt.error.code == "response_cancel_not_active":
|
||||
if evt.error.code in (
|
||||
"response_cancel_not_active",
|
||||
"conversation_already_has_active_response",
|
||||
):
|
||||
logger.debug(f"{self} {evt.error.message}")
|
||||
else:
|
||||
await self._handle_evt_error(evt)
|
||||
|
||||
Reference in New Issue
Block a user