Streaming
Recibe los tokens a medida que se generan, mediante server-sent events.
Configura "stream": true y la respuesta llega como server-sent events en lugar de un solo cuerpo JSON. Cada formato conserva su propia estructura de eventos:
| Endpoint | Formato del stream |
|---|---|
/v1/chat/completions | Líneas data: con objetos chat.completion.chunk, que terminan con data: [DONE] |
/v1/responses | Eventos tipados, como response.output_text.delta y response.completed |
/v1/messages | Eventos de Anthropic: message_start, content_block_delta, message_stop |
Uso de tokens en streaming
En chat completions, agrega "stream_options": { "include_usage": true } para recibir un chunk final con el número de tokens. Los streams de Responses y Messages reportan el uso en sus eventos de cierre.
Ejemplo
stream = client.chat.completions.create(
model="deepseek-v4-1-flash",
messages=[{"role": "user", "content": "Write a haiku about rivers."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)