Activer SSE#
Définissez stream: true et stream_options: { include_usage: true }. Lisez chaque ligne de données comme JSON ; ajoutez choices[0].delta.content lorsqu'il est présent. Ne supposez pas qu'un morceau de réseau correspond à un événement.
Fin et utilisation#
Un finish_reason clôt le choix ; la trame d'utilisation finale peut arriver séparément. Arrêtez-vous uniquement sur [DONE] ou une erreur terminale. Conservez les totaux d'utilisation plutôt que d'estimer les jetons à partir des caractères.
Requêtes interrompues#
La passerelle conserve une réservation de facturation jusqu'à ce que l'utilisation autorisée du fournisseur soit disponible. Une déconnexion du navigateur ne prouve pas que le fournisseur a cessé de générer. Si l'utilisation finale est manquante, la réservation reste en attente de rapprochement au lieu de facturer silencieusement une estimation.
Livraison au navigateur#
Conservez la clé API sur un serveur. Utilisez votre propre endpoint de même origine pour transmettre les SSE au navigateur ; consultez la recette de streaming navigateur.
Exemple de demande
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'