DocumentaciónRespuestas en streaming
Construir
Respuestas en streaming
La respuesta aparece mientras el modelo la escribe. La persona lee las primeras palabras en lugar de esperar al final.
En esta página
Activar el streaming
Pon stream a true. La respuesta llega como eventos del servidor, cada uno con un fragmento del 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")const stream = await client.chat.completions.create({
model: "flash",
messages: [
{ role: "user", content: "Draft a payment reminder." },
],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
if (chunk.usage)
console.log("\n", chunk.usage.total_tokens, "tokens")
}import type { ChatCompletionChunk } from "openai/resources"
const stream: AsyncIterable<ChatCompletionChunk> =
await client.chat.completions.create({
model: "flash",
messages: [
{ role: "user", content: "Draft a payment reminder." },
],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
if (chunk.usage)
console.log("\n", chunk.usage.total_tokens, "tokens")
}curl -N https://api.learnya.ai/v1/chat/completions \
-H "Authorization: Bearer $LEARNYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flash",
"stream": true,
"messages": [
{"role": "user", "content": "Draft a payment reminder."}
]
}'Respuesta
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]El formato
| Evento | Lo que contiene |
|---|---|
delta.content | El siguiente fragmento de texto |
delta.reasoning_content | El razonamiento, cuando lo has pedido |
finish_reason | El motivo de la parada, en el último fragmento del texto |
usage | El recuento de tokens, en un último evento sin choices |
[DONE] | El final del stream |
Los tiempos de espera
- Un stream que pasa dos minutos sin enviar nada se corta, con un último evento de error.
- Una respuesta dura como máximo diez minutos.
- Para detener una respuesta, cierra la conexión.