Réponses en streaming
La sortie en streaming de RouteAPI utilise Server-Sent Events (SSE). Après avoir défini stream: true dans la requête, le serveur retourne progressivement du contenu incrémental.
Exemple de requête
Section intitulée « Exemple de requête »curl https://www.routeapi.ai/v1/chat/completions \ -H "Authorization: Bearer $ROUTEAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o", "stream": true, "messages": [ { "role": "user", "content": "Explique progressivement ce qu'est la sortie en streaming" } ] }'Exemple de fragments SSE
Section intitulée « Exemple de fragments SSE »data: {"id":"chatcmpl_xxx","choices":[{"delta":{"content":"RouteAPI"}}]}
data: {"id":"chatcmpl_xxx","choices":[{"delta":{"content":" prend en charge"}}]}
data: [DONE]Le client doit lire le contenu data: ligne par ligne et terminer la réponse lorsqu’il reçoit [DONE].
Retour de usage
Section intitulée « Retour de usage »Si le modèle actuel le prend en charge, une requête en streaming peut demander le retour de usage à la fin via stream_options :
{ "stream": true, "stream_options": { "include_usage": true }}La prise en charge de ce champ dépend du modèle choisi et des capacités du service.
Erreurs en cours de streaming
Section intitulée « Erreurs en cours de streaming »Une requête en streaming peut rencontrer une erreur côté service après l’établissement de la connexion, par exemple :
- Timeout du service de modèle
- Crédit de compte insuffisant
- Interruption réseau
- Déconnexion volontaire du client
- Échec de génération des paramètres d’appel d’outil
Il est recommandé que le client :
- Enregistre le request id pour chaque requête.
- Effectue des reprises limitées en cas d’interruption réseau.
- Évite les reprises automatiques pour les appels d’outils ayant déjà produit des effets de bord.
- Utilise les journaux de la console pour diagnostiquer les erreurs côté service.