DocumentaçãoRespostas em fluxo

Construir

Respostas em fluxo

A resposta aparece enquanto o modelo a escreve. A pessoa lê as primeiras palavras em vez de esperar pelo fim.

Nesta página
  1. Ativar o fluxo
  2. O formato
  3. Os tempos limite

Ativar o fluxo

Define stream como true. A resposta chega em eventos do servidor, cada um com um pedaço do texto.

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

O formato

EventoO que contém
delta.contentO pedaço de texto seguinte
delta.reasoning_contentO raciocínio, quando o pediste
finish_reasonO motivo da paragem, no último pedaço do texto
usageA contagem de tokens, num último evento sem escolhas
[DONE]O fim do fluxo

Os tempos limite

  • Um fluxo sem atividade durante dois minutos é interrompido, com um último evento de erro.
  • Uma resposta dura no máximo dez minutos.
  • Para parar uma resposta, fecha a ligação.