Обзор
Потоковая передача позволяет получать токены ответа по мере их генерации, а не ждать полного ответа. Это идеально подходит для:- Чат-ботов - Отображение ответов по мере их ввода
- Живых ассистентов - Показ прогресса в реальном времени
- Длинных ответов - Немедленное начало отображения контента
- Лучшего UX - Снижение воспринимаемой задержки
Как это работает
1
Включение потоковой передачи
Установите
stream: true в вашем запросе2
Получение фрагментов
Получайте токены ответа постепенно через SSE
3
Обработка событий
Парсите события
data: содержащие фрагменты JSON4
Обработка завершения
Следите за сигналом
[DONE], чтобы узнать о завершенииКонечные точки
Потоковая передача работает с обоими форматами API:stream: true.
Формат запроса
Формат OpenAI
Формат Anthropic
Формат ответа
Структура потока событий
Ответы отправляются как Server-Sent Events:Жизненный цикл потока
- Начальный фрагмент - Содержит роль:
- Фрагменты контента - Инкрементальный текст:
- Финальный фрагмент - Включает finish_reason:
- Завершение потока:
Примеры реализации
- Python
- JavaScript
- Browser
- React
- cURL
Расширенные функции
Вызов функций с потоковой передачей
Отслеживание прогресса
Буферизация для производительности
Обработка ошибок
Лучшие практики
- Буферизация для обновлений UI - Не обновляйте DOM для каждого фрагмента (пакетная обработка улучшает производительность)
- Показывайте индикаторы загрузки - Отображайте индикаторы печати во время потоковой передачи
- Реализуйте таймауты - Устанавливайте разумные таймауты для соединений
- Обрабатывайте прерывания - Используйте логику повторных попыток с экспоненциальной задержкой
- Освобождайте ресурсы - Всегда правильно закрывайте потоки
- Тестируйте сценарии ошибок - Убедитесь, что ваше приложение корректно обрабатывает сбои сети
Советы по производительности
- Используйте
flush=Trueв print Python для немедленного вывода - Реализуйте debouncing для частых обновлений UI
- Рассмотрите виртуализацию для длинных ответов
- Используйте Web Workers для парсинга в браузерах
- Отслеживайте использование памяти для длинных потоков
Связанное
- API завершений чата - API потоковой передачи совместимое с OpenAI
- API сообщений - API потоковой передачи совместимое с Anthropic
- Вызов функций - Использование функций с потоковой передачей
- Аутентификация - Методы аутентификации API

