Цели урока
- Понять, как работает потоковая передача
- Работать с событиями потока
О чём урок
Начнем с импорта anthropic SDK и настройки нашего клиента: До сих пор мы отправляли сообщения Claude, используя следующий синтаксис: Это работает хорошо, но важно помнить, что при таком подходе мы получаем контент от API только **после того, как весь контент будет сгенерирован.** Попробуйте снова запустить ячейку выше, и вы увидите, что ничего не выводится, пока весь ответ не будет напечатан сразу. Это нормально во многих ситуациях, но может привести к негативному пользовательскому опыту, если вы создаете приложение, которое заставляет пользователя ждать генерации всего ответа. **Встречайте потоковую передачу (streaming)!** Потоковая передача позволяет нам писать приложения, которые получают контент по мере его генерации моделью, вместо того чтобы ждать генерации всего от ответа. Так работают приложения, подобные claude.ai. По мере того как модель генерирует ответы, этот контент передается в браузер пользователя и отображается: Чтобы получить потоковый ответ от API, достаточно передать stream=True в client.messages.create. Это простая часть. Сложнее становится то, как мы впоследствии работаем с потоковым ответом и обрабатываем входящие данные. Давайте посмотрим на нашу переменную stream Здесь особо нечего смотреть! Сам по себе этот объект stream нам особо не поможет. Объект stream — это объект-генератор, который выдает отдельные события, отправленные сервером (SSE), по мере их получения от API. Нам нужно написать код для итерации по нему и работы с каждым отдельным событием, отправленным сервером. Помните, наши данные больше не поступают одним завершенным фрагментом. Давайте попробуем проитерировать по потоковому ответу: Как вы видите, мы получили множество событий, отправленных сервером, от API. Давайте подробнее рассмотрим, что означают эти события.
План урока
- Потоковая передача
- Работа с потоками
- Другие типы событий потоковой передачи
- Время до первого токена (TTFT)
- Вспомогательные средства для потоковой передачи
- Упражнение
- Возможное решение
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.