---
title: "Потоковые ответы"
description: "Как читать SSE и отличать полученный текст от полностью завершённого ответа."
---

<aside className="docs-publication" data-pagefind-ignore>Документацию поддерживает <a href="https://1zheai.com/ru/editorial/#publisher">1ZheAI</a>. <a href="https://1zheai.com/ru/editorial/">Источники, коммерческие интересы и исправления</a>. Об ошибке сообщите на <a href="mailto:support@1zheai.com">support@1zheai.com</a>, указав URL и проверяемое подтверждение, без ключей и данных входа.</aside>

При `stream: true` сервер отправляет события, а не один готовый JSON. Используйте SSE-парсер или потоковый интерфейс SDK: сетевой фрагмент не обязательно совпадает с событием или UTF-8-символом.

## Протоколы различаются

| Формат | Что читать |
| --- | --- |
| Chat Completions | `choices[].delta`, причины завершения и завершающий маркер протокола |
| Anthropic Messages | события сообщения, текстовых блоков и окончательное завершение сообщения |
| Responses | типизированные дельты и итоговый статус, включая неуспех и незавершённость |

Учитывайте инструментальные блоки отдельно от обычного текста. Если выдача остановилась по лимиту, результат может быть неполным даже при корректном HTTP-коде.

## Ошибки и отмена

Ошибка может прийти после начала текста. Если соединение оборвалось до нужного финального события, сохраните признак незавершённости. Не объявляйте запрос успешным только по первым символам или HTTP 200.

После обрыва проверьте журнал: обработка могла уже произойти. Не запускайте бесконечный повтор, не объединяйте повторную генерацию с прежним текстом без явного действия пользователя. При отмене клиентом нельзя предполагать нулевую стоимость. [Тайм-ауты и повторы](/ru/docs/retries/).

## Примеры запросов и конфигурации

Используйте пример для выбранного протокола и версии клиента. Замените учебные ключи и идентификаторы моделей своими. Команды выполняются на вашем компьютере или сервере.

```bash
curl -N https://1zheai.com/v1/messages \
  -H "x-api-key: $ONEZHE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5-5","max_tokens":128,"stream":true,
       "messages":[{"role":"user","content":"Сосчитайте от одного до пяти"}]}'
```


```text
data: {"id":"msg_011Cg3ERqM8nN58LxLt7TVuG","object":"chat.completion.chunk","created":1792031230,"model":"claude-sonnet-4-6","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"msg_011Cg3ERqM8nN58LxLt7TVuG","object":"chat.completion.chunk","created":1792031230,"model":"claude-sonnet-4-6","choices":[{"index":0,"delta":{"content":"ok"},"finish_reason":null}]}

data: {"id":"msg_011Cg3ERqM8nN58LxLt7TVuG","object":"chat.completion.chunk","created":1792031230,"model":"claude-sonnet-4-6","choices":[{"index":0,"delta":{"content":""},"finish_reason":"stop"}]}

data: {"id":"msg_011Cg3ERqM8nN58LxLt7TVuG","object":"chat.completion.chunk","created":1792031230,"model":"claude-sonnet-4-6","choices":[],"usage":{"prompt_tokens":370,"completion_tokens":4,"total_tokens":374}}

data: [DONE]
```


## Внешние источники

- [Источник 1](https://platform.claude.com/docs/en/build-with-claude/streaming)
