awesome-everything EN
↑ Обратно к восхождению

AI / LLM

Streaming: тест с множественным выбором

Суть Синтез всего юнита в формате выбора — TTFT против общего времени, жизненный цикл событий SSE, накопление delta, частичный JSON в аргументах tool, reconnect и буферизующий прокси.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов, которые проходят сквозь весь юнит. Каждый — это решение, которое ты принимаешь в реальном инциденте со streaming: не определение для зубрёжки, а компромисс, который надо взвесить, когда спиннер висит в проде.

Цель

Убедись, что ты связываешь модель латентности, жизненный цикл SSE, накопление delta, контракт частичного JSON и отказ из-за буферизации — тот синтез, к которому вёл урок.

Викторина

Ответ на 400 токенов генерируется со скоростью 60 ток/с. Продукт просит «сделать ответ вдвое быстрее», включив streaming. Что ты ответишь на senior-уровне?

Викторина

Твой чат идеально стримит на localhost, но в staging каждый ответ появляется разом после долгой паузы. Куда смотреть в первую очередь?

Викторина

Модель вызывает tool; аргументы приходят как input_json_delta-чанки: '{"city": "San Fran', затем 'cisco", "unit":', затем ' "celsius"}'. Когда можно сделать JSON.parse буфера?

Викторина

В проде tool-вызов срабатывает с input = {} (пустые аргументы), но тот же промпт локально напрямую к провайдеру работает. Самая вероятная причина?

Викторина

Соединение рвётся на 200-м токене из 400. Какой честный senior-дефолт для обработки?

Викторина

Reasoning-модель с chain-of-thought держит TTFT 30с, не выдав ни одного токена; пользователи говорят, что приложение «зависло». Как правильно это прочитать и починить?

Итог

Сквозная линия юнита — одна модель: streaming платит за воспринимаемую латентность скоростью чтения пользователя, схлопывая TTFT, тогда как общее время и число токенов неизменны. SSE доставляет типизированный жизненный цикл (message_start → content_block_start → content_block_delta ×N → content_block_stop → message_delta/stop), который ты накапливаешь; text-delta рендерятся сразу, а фрагменты input_json_delta для tool парсятся только на content_block_stop. Пустые аргументы tool означают, что delta съел промежуточный слой; оборванные stream — повторяемые retry всего хода; а отказ, стирающий весь выигрыш и не требующий обрыва соединения, — буферизующий прокси, превращающий TTFT обратно в общее время.

Продолжить восхождение ↑Streaming: повторение на припоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.