Streaming
Cómo llega una completion transmitida por el cable, qué lleva el último frame y qué ocurre cuando un cliente se desconecta.
El transporte
Establece stream: true y la respuesta es text/event-stream: un objeto JSON por línea data:, cada uno seguido de una línea vacía. El almacenamiento en búfer está deshabilitado para que un proxy no retenga los frames.
HTTP/1.1 200 OK
content-type: text/event-stream; charset=utf-8
cache-control: no-cache, no-transform
connection: keep-alive
Los frames
El primer frame lleva el rol de asistente, luego un frame por delta, después un frame con finish_reason y el bloque de enrutamiento, y luego exactamente un terminador. Un cliente que sigue el formato lee el terminador y se detiene; no debe tratar un terminador ausente como una respuesta completa.
data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hallo"},"finish_reason":null}]}
data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"llmeu":{…}}
data: [DONE]
El bloque de enrutamiento viaja con el último frame
El frame final lleva el mismo objeto llmeu que devuelve la respuesta no transmitida: trace_id, model_used, model_version, provider, endpoint_id, inference_region, sovereignty_class, policy_id, retention y la estimación de coste. En modo streaming el uso solo se conoce al final, por lo que el bloque viaja con el último frame en lugar del primero.
El cliente se desconecta
Cerrar la conexión detiene el trabajo y escribe la traza con lo que realmente se produjo. Una solicitud cancelada sigue siendo una llamada que ocurrió, por lo que aparece en el uso; no se registra como una completion completada.
Lo que no se puede transmitir
Los embeddings y la API de plataforma son respuestas JSON únicas. stream: true en una ruta no transmitida es un error de validación, no un fallback silencioso a un frame.