Отладка медленных запросов начинается с разделения токенизации и инференса
Когда запрос медленнее, чем ожидалось, разработчик пытается оптимизировать запрос или выбрать более быструю модель. Но если профилировать отдельные этапы, часто оказывается, что проблема не в модели.
Время теряется на преобразовании входных данных в токены. Если входить — большой файл в JSON-кодировке, парсинг и токенизация могут занять больше времени, чем сама генерация ответа.
Где искать узкие места
Провайдеры редко отдают метаданные о времени, потраченном на отдельные этапы. Но можно написать собственный профилировщик: засечь время передачи данных, ответить от сервера, а затем обработки результата.
Часто оказывается, что задержка лежит в сетевом взаимодействии, а не в модели. Переход на батчинг нескольких запросов уменьшает сетевые издержки сильнее, чем оптимизация самого запроса.
Когда разработчик начинает кэшировать промежуточные результаты и токенизировать локально, общее время запроса часто улучшается больше, чем при смене модели.