Guide

Statut éditorial : En attente de relecture

Streaming et callbacks dans LangChain

Diffuser les tokens et événements d’un agent LangChain, choisir le bon mode de streaming et instrumenter sans bloquer l’application.

Classification du contenu

Types

  • Intelligence artificielle

Technologies

Niveau
Intermédiaire
Prochaine vérification
10 novembre 2026

Le streaming réduit le temps perçu avant la première réponse et rend visibles les étapes d’un agent. Il ne réduit pas nécessairement le temps total. Une interface doit distinguer les tokens destinés à l’utilisateur des événements techniques, outils et changements d’état.

Choisir ce qui doit être diffusé

Les modes de streaming peuvent exposer les messages du modèle, les mises à jour d’état, les événements personnalisés ou les sous-graphes. N’envoyez au navigateur que les données nécessaires et filtrez les arguments d’outils contenant des informations sensibles.

Synchrone ou asynchrone

Utilisez stream pour un consommateur synchrone et astream dans une application asynchrone. Propagez l’annulation lorsque le client se déconnecte et imposez des délais d’attente. Une file bornée évite qu’un consommateur lent ne fasse croître la mémoire sans limite.

Callbacks et observabilité

Les callbacks sont utiles pour la journalisation, les métriques et certaines intégrations. Gardez-les rapides, tolérants aux erreurs et sans logique métier critique. Une panne du système de télémétrie ne devrait pas bloquer la réponse utilisateur.

Concevoir le protocole client

Émettez des événements typés comme token, tool_start, tool_end, error et done. Ajoutez un identifiant de trace, conservez l’ordre et prévoyez la reconnexion. N’interprétez pas chaque fragment comme une réponse finale validée.

Checklist avant mise en production

Questions fréquentes

Le streaming diminue-t-il le coût ?

Non. Il change surtout la manière dont le résultat arrive; les tokens générés restent facturés selon le fournisseur.

Peut-on streamer les appels d’outils ?

Oui, selon le mode choisi. Il faut toutefois masquer les secrets et ne pas présenter un résultat partiel comme définitif.

Contenus liés

Sources utilisées