Потоковая выдача ответа

Урок 10 из 89 курса «Claude в Amazon Bedrock»: официальный курс Anthropic Academy (Антропик) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Кадр из видеоурока

О чём урок

В современном мире, где скорость и мгновенная обратная связь стали нормой, пользователи ожидают, что интерфейсы, основанные на искусственном интеллекте, будут отвечать практически мгновенно. Ожидание 10-30 секунд для получения полного ответа от большой языковой модели (LLM) может быть утомительным и негативно сказываться на пользовательском опыте. Именно здесь на помощь приходит стриминг (потоковая передача) ответов – ключевая функция, которая значительно улучшает отзывчивость приложений, использующих такие модели, как Claude в Amazon Bedrock. Вместо того чтобы ждать, пока модель ИИ полностью сгенерирует весь ответ, потоковая передача позволяет ей отправлять части текста по мере их готовности. Это фундаментально меняет взаимодействие с моделью: Когда вы отправляете запрос к модели Claude через API (например, используя метод converse_stream в AWS SDK), вы немедленно получаете начальный ответ, который содержит объект потока. Этот поток действует как генератор, который выдает последовательность событий по мере того, как модель генерирует текст. Каждое событие содержит небольшой, но значимый фрагмент общего ответа, будь то несколько слов, предложение или даже технические метаданные. Такой подход создает иллюзию мгновенного ответа, поскольку пользователь видит, как текст появляется на экране постепенно, слово за словом или предложение за предложением, вместо того чтобы ждать полной загрузки. Поток выдает несколько типов событий, каждое из которых служит определенной цели в процессе генерации ответа. Для базовой генерации текста и отображения его пользователю наиболее важными являются события contentBlockDelta. Эти события содержат фактические сгенерированные текстовые фрагменты, которые вы хотите отобразить. События всегда приходят в предсказуемом порядке, что упрощает их обработку: Сначала вы получаете одно или несколько событий contentBlockDelta, каждое из которых содержит новый фрагмент текста. Затем, когда блок контента завершен, приходит событие contentBlockStop, сигнализирующее об окончании этого конкретного блока. Хотя существуют и другие типы событий (например, для инструментов или метаданных), для простого отображения генерируемого текста достаточно сосредоточиться на contentBlockDelta.

План урока

  1. Потоковая передача ответов (Streaming) от Claude в Amazon Bedrock
  2. Как работает потоковая передача
  3. Понимание событий потока
  4. Извлечение и отображение текста
  5. Практическое применение потоковой передачи
  6. Заключение

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Урок входит в темы

Полезные гиды