feat: handle server_content.interrupted for faster barge-in response
This commit is contained in:
1
changelog/3429.added.md
Normal file
1
changelog/3429.added.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
- Added handling for `server_content.interrupted` signal in Gemini Live services for faster interruption response.
|
||||||
@@ -1198,7 +1198,11 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
# Reset failure counter if connection has been stable
|
# Reset failure counter if connection has been stable
|
||||||
self._check_and_reset_failure_counter()
|
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)
|
await self._handle_msg_model_turn(message)
|
||||||
elif (
|
elif (
|
||||||
message.server_content
|
message.server_content
|
||||||
|
|||||||
Reference in New Issue
Block a user