Streaming
Streaming уменьшает время до первого токена и передает ответ событиями text/event-stream.
01
Включение
Добавьте "stream": true. Клиент должен читать полные SSE events, разделенные пустой строкой.
text/event-stream
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hel"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"lo"}}]}
data: [DONE]02
Завершение потока
| Формат | Терминальный сигнал |
|---|---|
| Chat Completions | data: [DONE] |
| Responses | response.completed or terminal error |
| Anthropic Messages | message_stop |
03
Usage
Usage обычно находится в завершающих событиях. Не завершайте локальный учет до обработки terminal event.
04
Разрывы и отмена
- Закрывайте upstream reader при отмене клиентом.
- Повторяйте только запросы, для которых клиент не получил полезные байты.
- Сохраняйте
X-GYW-Request-IDдля диагностики.