Skip to main content

Когда использовать поток

Только chat completions принимает stream=true. Текстовый стриминг должен быть включён в сервисе. Ответ имеет Content-Type: text/event-stream. API отправляет текстовые delta или tool_calls delta, затем finish_reason, usage/billing и [DONE]. OpenAI SDK читает этот поток. Ошибка после начала SSE приходит внутри потока, поскольку HTTP-статус уже отправлен.

Пример JavaScript

Подготовьте клиент OpenAI и переменные окружения по быстрому старту. Сохраните отдельный REQUEST_ID для этого запроса. Пример читает текстовые части; инструменты обрабатывайте отдельно по tool_calls.
Сохраните usage и billing из финальных данных для учёта. Частичный текст ещё не подтверждает успешное завершение; при ошибке потока сохраните ID запроса и уже полученные события.

Разрыв соединения

Закрытие вкладки или остановка показа не отменяют обработку и не освобождают резерв неизвестного исхода. Повтор с прежним Idempotency-Key и телом возвращает сохранённый результат либо состояние сверки. Не меняйте ID для «исправления» сетевой ошибки. Responses и Messages в текущем поднаборе поддерживают только stream=false.