swill://docs/streaming

Стриминг

AggreGate поддерживает server-sent events (SSE) для потоковой передачи токенов в реальном времени.

Как это работает

Установите stream: true в теле запроса. Сервер отвечает соединением text/event-stream, отправляя фрагменты по мере их поступления от вышестоящего провайдера. Последний фрагмент содержит "[DONE]".

Пример

from openai import OpenAI

client = OpenAI(api_key="sk-ag-...", base_url="https://api.aggregate.surf")

stream = client.chat.completions.create(
    model="claude-opus-4-5",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Советы

  • Обрабатывайте каждый фрагмент по мере поступления — не дожидайтесь полного ответа.
  • Отслеживайте маркер [DONE], чтобы корректно закрыть соединение.
  • При ошибке поток завершается событием ошибки SSE; повторите запрос с экспоненциальной задержкой.