rtvi: reset bot transcription with interruptions

This commit is contained in:
Aleix Conchillo Flaqué
2024-10-15 14:54:18 -07:00
parent f0d89e57ad
commit 4a71eacac3

View File

@@ -459,14 +459,18 @@ class RTVIBotTranscriptionProcessor(RTVIFrameProcessor):
await self.push_frame(frame, direction)
if isinstance(frame, TextFrame):
if isinstance(frame, UserStartedSpeakingFrame):
await self._push_aggregation()
elif isinstance(frame, TextFrame):
self._aggregation += frame.text
if match_endofsentence(self._aggregation):
message = RTVIBotTranscriptionMessage(
data=RTVITextMessageData(text=self._aggregation)
)
await self._push_transport_message_urgent(message)
self._aggregation = ""
await self._push_aggregation()
async def _push_aggregation(self):
if len(self._aggregation) > 0:
message = RTVIBotTranscriptionMessage(data=RTVITextMessageData(text=self._aggregation))
await self._push_transport_message_urgent(message)
self._aggregation = ""
class RTVIBotLLMProcessor(RTVIFrameProcessor):