Этап 6 из 18 · ≈ 4 ч

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

Основа с Junior

Ответ по мере генерации — SSE, обработка обрывов, отмена.

Ответ модели длится секунды, а первые токены приходят быстро. Потоковая выдача показывает текст по мере генерации — воспринимаемая скорость растёт в разы.

Что важно знать

  • Провайдеры отдают поток событий; сервис пересылает их клиенту через Server-Sent Events или WebSocket.
  • Прокси и балансировщики не должны буферизовать ответ (заголовки, настройки nginx).
  • Отмена: пользователь закрыл вкладку — прекратить генерацию и не платить за ненужные токены.
  • Структурированный вывод и вызовы инструментов в потоке приходят частями — их собирают до конца.
  • Проверки безопасности ответа при потоке сложнее: часть текста уже показана.

Критерии освоения

Junior ≈ 4 ч

  • Получает потоковый ответ модели и показывает его пользователю по мере генерации

Практика. Добавить в консольный чат вывод ответа по мере генерации.

Middle ≈ 4 ч

  • Прокидывает поток через свой API и прокси без буферизации
  • Прекращает генерацию при отключении клиента и корректно учитывает токены

Практика. Сделать веб-чат с потоковой выдачей через SSE и кнопкой «Остановить», которая прерывает генерацию на стороне провайдера.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Как реализовать потоковую выдачу ответа LLM пользователю?Middle

Модель генерирует ответ токен за токеном, и его можно показывать по мере генерации: воспринимаемая задержка падает с десятков секунд до времени первого токена. Провайдеры отдают поток через Server-Sent Events; бэкенд проксирует его клиенту (SSE или…

Полный разбор
Как получить потоковый ответ модели и показать его пользователю?Junior

В запросе включают потоковый режим (stream), и API отдаёт ответ частями по протоколу Server-Sent Events: каждое событие — строка «data: {…}» с очередным фрагментом текста (delta). Клиент добавляет фрагменты к уже показанному тексту, а последнее событие…

Полный разбор
Как LLM генерирует текст и что такое KV-кэш?Middle

Генерация авторегрессивна: токен за токеном, каждый новый зависит от всех предыдущих. Prefill — параллельная обработка всего промпта (определяет время до первого токена, TTFT). Decode — по одному токену за шаг (определяет скорость печати). KV-кэш хранит ключи…

Полный разбор
Как устроен запрос к чат-API модели — роли сообщений, причина остановки, расход токенов?Junior

Запрос — список сообщений с ролями: system (правила и роль модели), user (запросы), assistant (прошлые ответы модели). Модель не хранит диалог: приложение каждый раз отправляет историю целиком. Ответ содержит текст, причину остановки (закончила сама, упёрлась…

Полный разбор
Как устроена большая языковая модель (LLM)?Junior

LLM — нейросеть-трансформер, которая предсказывает следующий токен по предыдущим; текст получается, если повторять это шаг за шагом.

Полный разбор
Что такое токены и контекстное окно LLM?Junior

Токен — кусок текста (часть слова, слово, знак), с которым работает модель; контекстное окно — сколько токенов модель учитывает за раз: запрос плюс ответ.

Полный разбор

Разборы темы

← Вся карта «ИИ-инженер»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования