- Ouvrez un WebSocket TTS avant que le LLM ne démarre.
- Regroupez les tokens du LLM en fragments de mots ou de phrases.
- Envoyez chaque fragment comme message
text. - Ajoutez
<flush>lorsque le LLM termine une phrase ou la réponse entière. - Lisez les messages
audioen parallèle et diffusez-les vers la lecture.
Envoyer les tokens LLM en streaming vers le TTS
Règles de découpage
- Envoyez des mots, des groupes de mots ou des phrases complets.
- Gardez la ponctuation attachée au mot qui la précède.
- Évitez d’envoyer un token par message, sauf si les tokens correspondent déjà à des mots complets.
- Ajoutez
<flush>aux limites naturelles, en particulier lorsque le LLM a terminé sa réponse. - Évitez les flush fréquents : ils réduisent le contexte du modèle et peuvent rendre la prosodie saccadée.
Gérer les interruptions
Si l’utilisateur interrompt l’agent :- Arrêtez d’envoyer du texte.
- Arrêtez la lecture localement.
- Fermez le WebSocket en cours.
- Ouvrez un nouveau WebSocket pour la réponse suivante.
client_req_id.
Voir aussi
WebSocket de synthèse vocale
Le guide complet du streaming TTS.
Cycle de vie WebSocket
Setup, ready, entrée, flush, fin et erreurs.