Vue d’ensemble
Le streaming livre la sortie progressivement. Utilisez le streaming Responses lorsque le modèle annonce un contrat Responses natif et qu’une route upstream du même protocole est disponible ; sinon, utilisez Chat Completions ou le protocole natif publié par le modèle.Recommandé : streaming Responses
Limites de streaming Responses et Gemini
Pour Responses SSE, TokenLab conserve les noms, l’ordre et les champs des événements upstream et lit usage ainsi que l’état terminal hors bande, sans modifier le wire. Après le premier événement livré, aucun autre canal ni credential n’est essayé. Responses WebSocket n’accepte que les événements officielsresponse.create. Stream est implicite ; background et response.cancel ne sont pas proposés sur ce transport, et background fonctionne uniquement en HTTP. Chaque connexion est sérielle, sans multiplexage, et limitée à 60 minutes.
Gemini SSE conserve les chunks natifs. Les événements contenant uniquement des métadonnées, les chunks intermédiaires sans finishReason et une fin EOF naturelle sont valides ; TokenLab n’ajoute aucun marqueur Chat [DONE].
Streaming Chat Completions
Si votre framework attend encore des chunks SSE provenant de/v1/chat/completions, cela fonctionne également :
Conditions de fin du stream
Conditions de fin typiques :response.completedpour les streams de l’API Responsesfinish_reason: "stop"pour les streams Chat Completionsfinish_reason: "length"lorsqu’une limite de token est atteinte- événements d’appel d’outil/de fonction lorsque le modèle souhaite utiliser des outils
Modèle pour application web
Bonnes pratiques
Privilégier le streaming Responses pour les nouvelles implémentations
Privilégier le streaming Responses pour les nouvelles implémentations
Utilisez
/v1/responses si votre SDK ou votre application le prend déjà en charge. Réservez le streaming /v1/chat/completions aux intégrations motivées par la compatibilité.Vider la sortie progressivement
Vider la sortie progressivement
Ajoutez les chunks delta à l’interface utilisateur ou au terminal au fur et à mesure de leur arrivée plutôt que d’attendre la réponse complète.
Gérer les déconnexions et les nouvelles tentatives
Gérer les déconnexions et les nouvelles tentatives
Considérez les coupures réseau et les déconnexions en amont comme des modes de défaillance normaux et reconnectez-vous avec précaution pour les sessions de longue durée.