Streaming
Reciba la salida parcial a medida que se genera.
El streaming permite recibir contenido mientras el modelo lo genera. Es útil para interfaces de chat y respuestas largas. Antes de activarlo, confirme que el modelo y la interfaz seleccionados lo admitan.
Active el streaming
Configure el siguiente campo en una solicitud de chat:
{
"stream": true
}Ejemplo completo de solicitud:
curl --no-buffer --silent --show-error \
"https://api.vergora.ai/v1/chat/completions" \
-H "Authorization: Bearer ${VERGORA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_STREAMING_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Explique el streaming en tres frases."
}
],
"stream": true
}'Lea los eventos
Una respuesta SSE compatible puede contener eventos como:
data: {"choices":[{"delta":{"content":"Hola"},"finish_reason":null}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]Tome la respuesta real de la interfaz como referencia definitiva para la estructura de eventos y las señales de finalización.
Procese correctamente el flujo
- Lea los datos según los límites de cada evento SSE.
- No trate un fragmento de red como un valor JSON completo.
- Combine los incrementos de texto en orden.
- Gestione incrementos vacíos, eventos de finalización y errores dentro del flujo.
- Marque la respuesta como completa solo tras recibir la señal de finalización esperada.
Interrupciones, reintentos y costo
Tras una interrupción de red o un tiempo de espera agotado en el cliente, marque lo recibido como incompleto. Reenviar suele crear otra solicitud y puede generar otro cargo. Revise la solicitud original en Registros de API antes de reintentar.
La ausencia de campos de uso en el flujo no significa que no hubo uso. Consulte el registro para conocer el uso y costo finales.