DocumentationRéponses en flux

Construire

Réponses en flux

La réponse s’affiche pendant que le modèle l’écrit. La personne lit les premiers mots au lieu d’attendre la fin.

Sur cette page
  1. Activer le flux
  2. Le format
  3. Les délais

Activer le flux

Ajoutez stream à true. La réponse arrive en événements serveur, chacun portant un morceau du texte.

stream = client.chat.completions.create(
    model="flash",
    messages=[
        {"role": "user", "content": "Draft a payment reminder."}
    ],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(
            chunk.choices[0].delta.content, end="", flush=True
        )
    if chunk.usage:
        print("\n", chunk.usage.total_tokens, "tokens")
Réponse
data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":""}}]}

data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Dear Ms Keller,"}}]}

data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":17,"completion_tokens":96,"total_tokens":113}}

data: [DONE]

Le format

ÉvénementCe qu’il porte
delta.contentLe morceau de texte suivant
delta.reasoning_contentLe raisonnement, quand vous l’avez demandé
finish_reasonLa raison de l’arrêt, sur le dernier morceau du texte
usageLe décompte des jetons, dans un dernier événement sans choix
[DONE]La fin du flux

Les délais

  • Un flux silencieux pendant deux minutes est coupé, avec un dernier événement d’erreur.
  • Une réponse dure au plus dix minutes.
  • Pour arrêter une réponse, fermez la connexion.