rough-pizza-5956
08/05/2025, 12:09 PMtall-airline-16756
08/05/2025, 12:09 PMtall-airline-16756
08/05/2025, 12:09 PM@session.on_error decorator in LiveKit is used to handle errors during an AgentSession. It listens for error events and provides details about the error, including whether it is recoverable.
Here’s how you can use it:
@session.on_error
async def handle_error(event: ErrorEvent):
if event.error.recoverable:
logger.warning(f"[Recoverable Error] Source: {event.source}, Error: {event.error}")
else:
logger.error(f"[Non-Recoverable Error] Source: {event.source}, Error: {event.error}")
await session.say("Something went wrong while processing. Please try again in a moment.")
Key Points:
• Recoverable Errors: If event.error.recoverable is True, the session can continue. Otherwise, manual intervention is required.
• Error Sources: The error source (e.g., LLM, TTS, or STT) is accessible via event.source.
For more advanced handling, you can implement logic to retry recoverable errors or transfer calls for non-recoverable ones. This ensures a smoother user experience and system reliability.