-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
The MultilingualModel turn detector crashes with AssertionError when the inference executor returns None. This occurs intermittently during phone calls.
{
"message": "Error predicting end of turn\nTraceback (most recent call last):\n File \"/usr/local/lib/python3.12/site-packages/livekit/agents/voice/audio_recognition.py\", line 534, in _bounce_eou_task\n end_of_turn_probability = await turn_detector.predict_end_of_turn(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/livekit/plugins/turn_detector/multilingual.py\", line 70, in predict_end_of_turn\n return await super().predict_end_of_turn(chat_ctx, timeout=timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/livekit/plugins/turn_detector/base.py\", line 291, in predict_end_of_turn\n assert result is not None, \"end_of_utterance prediction should always returns a result\"\n ^^^^^^^^^^^^^^^^^^\nAssertionError: end_of_utterance prediction should always returns a result",
"level": "ERROR",
"name": "livekit.agents",
"exc_info": "Traceback (most recent call last):\n File \"/usr/local/lib/python3.12/site-packages/livekit/agents/voice/audio_recognition.py\", line 534, in _bounce_eou_task\n end_of_turn_probability = await turn_detector.predict_end_of_turn(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/livekit/plugins/turn_detector/multilingual.py\", line 70, in predict_end_of_turn\n return await super().predict_end_of_turn(chat_ctx, timeout=timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/livekit/plugins/turn_detector/base.py\", line 291, in predict_end_of_turn\n assert result is not None, \"end_of_utterance prediction should always returns a result\"\n ^^^^^^^^^^^^^^^^^^\nAssertionError: end_of_utterance prediction should always returns a result",
"pid": 2494,
"job_id": "AJ_sW93YCJzHpxy",
"room_id": "RM_cwV85bgdKWFy",
"timestamp": "2026-01-13T00:24:16.704656+00:00"
}
Expected Behavior
The turn detector should handle None inference results
Reproduction Steps
1. Use MultilingualModel() for turn detection in a voice agent
2. Run the agent under normal phone call load
3. Observe intermittent AssertionError in logs when inference times out or returns NoneOperating System
Linux
Models Used
Turn Detection: MultilingualModel , VAD: livekit.plugins.silero.VAD, STT: Deepgram nova-3 , TTS: ElevenLabs eleven_flash_v2_5
Package Versions
livekit-agents==1.3.10
livekit-plugins-turn-detector==1.3.10
livekit-plugins-silero==1.3.10
livekit-plugins-deepgram==1.3.10
livekit-plugins-openai==1.3.10
livekit-plugins-elevenlabs==1.3.10
livekit==1.0.23Session/Room/Call IDs
- Room ID: RM_ZUbbQvVmMiVj
Proposed Solution
Additional Context
No response
Screenshots and Recordings
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working