stream параметр для true в вашем запросе. Затем модель будет передавать ответ клиенту частями, а не возвращать весь ответ сразу.
Вот пример того, как передать ответ и обработать его:
Дополнительная информация
Для потоков SSE (события, отправленные сервером) LLMSTORE иногда отправляет комментарии, чтобы предотвратить таймауты соединения. Эти комментарии выглядят так:data: полей и буферизация для вас:
eventsource-parser
data: мероприятия с error поле. См. раздел «Обработка ошибок во время потоковой передачи».](#handling-errors-during-streaming) ниже.
Идентификатор поколения возвращается в X-Generation-Id заголовок ответа для всех эндпоинтов (завершения чата, завершения, ответы и сообщения), который может быть полезен для отладки и корреляции запросов.
Некоторые реализации клиента SSE могут не анализировать полезную нагрузку в соответствии со спецификацией, что приводит к необнаруженной ошибке при JSON.stringify полезные данные, отличные от JSON. Мы рекомендуем следующих клиентов:
Отмена трансляции
Запросы потоковой передачи можно отменить, прервав соединение. Для поддерживаемых поставщиков это немедленно прекращает обработку модели и выставление счетов.Provider Support
Provider Support
Поддерживается
- OpenAI, Azure, Anthropic
- Фейерверк, Мансер, Рекурсия
- AnyScale, Lepton, OctoAI
- Новита, ДипИнфра, Вместе
- Когерентный, Гиперболический, Инферматический
- Птичий, XAI, Cloudflare
- SFCompute, Девятнадцать, Liquid
- Friendli, Chutes, DeepSeek
- AWS Bedrock, Groq, Modal
- Google, Google AI Studio, Minimax
- HuggingFace, Копирование, Недоумение
- Мистраль, АИ21, Бесперый
- Линн, Лямбда, Отражение
- SambaNova, Перегиб, ZeroOneAI
- AionLabs, Alibaba, Nebius
- Кластер, Таргон, InferenceNet
Обработка ошибок во время потоковой передачи
LLMSTORE обрабатывает ошибки по-разному в зависимости от того, когда они возникают в процессе потоковой передачи:Ошибки перед отправкой токенов
Если ошибка возникает до того, как токены были переданы клиенту, LLMSTORE возвращает стандартный ответ об ошибке JSON с соответствующим кодом состояния HTTP. Это соответствует стандартному формату ошибок:- 400: неверный запрос (неверные параметры)
- 401: Несанкционировано (неверный ключ API)
- 402: Требуется оплата (недостаточно кредитов)
- 429: слишком много запросов (скорость ограничена)
- 502: Неверный шлюз (ошибка провайдера)
- 503: услуга недоступна (нет доступных поставщиков)
Ошибки после отправки токенов (в середине потока)
Если ошибка возникает после того, как некоторые токены уже были переданы клиенту, LLMSTORE не может изменить код состояния HTTP (который уже равен 200 OK). Вместо этого ошибка отправляется как событие, отправленное сервером (SSE) с унифицированной структурой:- Ошибка появляется на верхнем уровне рядом со стандартными полями ответа (идентификатор, объект, созданный и т. д.).
- А Массив
choicesвключен в составfinish_reason: "error", чтобы правильно завершить поток - Статус HTTP остается 200 OK, поскольку заголовки уже отправлены. — поток прекращается после этого события единой ошибки.
Примеры кода
Вот как правильно обрабатывать оба типа ошибок в реализации потоковой передачи:Поведение, специфичное для API
Различные эндпоинты API могут обрабатывать ошибки потоковой передачи немного по-разному:- API завершения чата OpenAI: возвращает
ErrorResponseнапрямую, если ни один фрагмент не был обработан, или включает информацию об ошибке в ответ, если некоторые фрагменты были обработаны - Responses API OpenAI: может преобразовывать определенные коды ошибок (например,
context_length_exceeded) в успешный ответ с помощьюfinish_reason: "length"вместо того, чтобы рассматривать их как ошибки