Débogage du streaming IA : chunks et timeouts
J'ai conçu une interface de chat IA. Je voulais des réponses mot par mot. Ça a échoué. Les réponses s'interrompaient au milieu d'un mot.
J'ai augmenté le timeout. Cela n'a pas fonctionné. J'ai essayé des boucles de retry. Cela a provoqué des doublons de mots. J'ai essayé le buffering. Cela a ralenti l'application.
La cause était une erreur de parsing. L'API envoie des lignes JSON-LD. Mon code s'arrêtait avant la fin du flux. Il ignorait le signal de fin.
La solution :
- Utiliser des octets plutôt que des lignes.
- Gérer le buffer manuellement.
- Rechercher le signal [DONE].
- Maintenir la connexion ouverte.
Ensuite, le frontend a gelé. React se mettait à jour trop vite. J'ai limité le débit du serveur pour corriger cela.
Conseils pour vous :
- Lisez la spécification du streaming.
- Trouvez l'événement de fin explicite.
- Utilisez des bibliothèques SSE.
- Suivez vos données.
Ne faites jamais confiance à un flux pour se terminer proprement.
Quel est votre bug de streaming le plus étrange ?
Source: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m