Définition complète
Le streaming est une technique d'affichage des réponses LLM où les tokens (mots) sont envoyés et affichés au fur et à mesure de leur génération, au lieu d'attendre la réponse complète. Cela améliore drastiquement l'expérience utilisateur : au lieu d'attendre 5 secondes devant un écran vide, l'utilisateur voit la réponse se construire après 200-500ms. Le streaming est devenu standard pour les chatbots car il réduit la latence perçue sans modifier la latence réelle.
Questions fréquentes
Comment le streaming améliore-t-il l'expérience chatbot ?
Le streaming réduit la latence perçue de plusieurs secondes à quelques centaines de millisecondes. L'utilisateur voit immédiatement que le chatbot "réfléchit" et peut commencer à lire la réponse. Psychologiquement, c'est beaucoup moins frustrant qu'un écran vide. Le streaming permet aussi à l'utilisateur d'interrompre si la réponse part dans la mauvaise direction.
Le streaming fonctionne-t-il pour tous les cas d'usage ?
Le streaming est idéal pour les réponses textuelles affichées à l'utilisateur. Il est moins adapté quand : on doit valider la réponse complète avant affichage (filtrage de sécurité), nous avons besoin du résultat complet pour une action (appel API), ou le format de sortie est structuré (JSON). Dans ces cas, nous pouvons streamer vers un buffer interne, traiter, puis afficher.
Comment implémenter le streaming techniquement ?
L'implémentation du streaming utilise les Server-Sent Events (SSE) ou WebSockets côté frontend. Côté backend, les APIs LLM (OpenAI, Anthropic) supportent le streaming nativement. Le serveur reçoit les tokens au fil de l'eau et les pousse vers le client. Les frameworks comme LangChain, Vercel AI SDK, ou les SDK officiels simplifient cette implémentation.