Diffusion en continu

Un point d’accès /v1 pour tous les fournisseurs. Pointez votre client OpenAI vers une autre URL et une clé, avec vos clés et 0 % de majoration.

Mettez stream: true pour recevoir des événements diffusés par le serveur, au format OpenAI. Chaque événement est une ligne data: portant un bloc JSON, et le flux se termine par data: [DONE].

curl
curl -N -X POST https://autonomousrelay.com/v1/chat/completions \
  -H "Authorization: Bearer $AUTONOMOUSRELAY_API_KEY" \
  -H 'content-type: application/json' \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{"role": "user", "content": "Compte jusqu’à trois"}],
    "stream": true
  }'
data: {"choices":[{"delta":{"content":"Un"}}]}

data: {"choices":[{"delta":{"content":", deux"}}]}

data: {"usage":{"prompt_tokens":12,"completion_tokens":5}}

data: [DONE]

Trois pièges classiques

Le décompte arrive à la fin

Un dernier bloc porte usage et peut ne contenir aucun choices. Si votre analyseur suppose que chaque bloc contient un delta, il lèvera une exception sur celui-là même qui vous indique le coût de la requête.

Les lignes de commentaire sont des signaux de maintien

Une ligne commençant par : est un commentaire SSE envoyé pour garder la connexion ouverte. Ignorez-la plutôt que de l’analyser.

Annuler n’arrête pas toujours la facturation

Le fait qu’interrompre la connexion arrête ou non la facturation en amont dépend du fournisseur. OpenAI le respecte ; plusieurs autres non, et facturent la génération complète. Nous le divulguons pour chaque point d’accès plutôt que de laisser croire à une garantie que nous ne pouvons pas donner.