DocumentazioneRisposte in streaming

Sviluppa

Risposte in streaming

La risposta appare mentre il modello la scrive. La persona legge le prime parole invece di aspettare la fine.

In questa pagina
  1. Attivare lo streaming
  2. Il formato
  3. I tempi limite

Attivare lo streaming

Imposta stream a true. La risposta arriva come eventi inviati dal server, ognuno con un frammento del testo.

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")
Risposta
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]

Il formato

EventoCosa contiene
delta.contentIl frammento di testo successivo
delta.reasoning_contentIl ragionamento, se lo hai richiesto
finish_reasonIl motivo dell’arresto, sull’ultimo frammento del testo
usageIl conteggio dei token, in un ultimo evento senza scelte
[DONE]La fine dello stream

I tempi limite

  • Uno stream silenzioso per due minuti viene interrotto, con un ultimo evento di errore.
  • Una risposta dura al massimo dieci minuti.
  • Per interrompere una risposta, chiudi la connessione.