feat: handle server_content.interrupted for faster barge-in response

This commit is contained in:
Luke Payyapilli
2026-01-23 10:41:04 -05:00
parent 8951442b8e
commit cadced3f79
2 changed files with 6 additions and 1 deletions

1
changelog/3429.added.md Normal file
View File

@@ -0,0 +1 @@
- Added handling for `server_content.interrupted` signal in Gemini Live services for faster interruption response.

View File

@@ -1198,7 +1198,11 @@ class GeminiLiveLLMService(LLMService):
# Reset failure counter if connection has been stable
self._check_and_reset_failure_counter()
if message.server_content and message.server_content.model_turn:
if message.server_content and message.server_content.interrupted:
logger.debug("Gemini VAD: interrupted signal received")
await self.broadcast_frame(UserStartedSpeakingFrame())
await self.push_interruption_task_frame_and_wait()
elif message.server_content and message.server_content.model_turn:
await self._handle_msg_model_turn(message)
elif (
message.server_content