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