Языковая модель в поиске: как построить систему, которая не рухнет при её отказе
В основе поиска лежит классический подход: триграммы, crc32, словарь синонимов и векторные представления. Сверху на это наслоили языковую модель, которая анализирует естественный запрос пользователя — например, «подарок папе, он рыбачит» — и при необходимости задаёт уточняющие вопросы, объясняя, почему предложила тот или иной товар.
Ключевое решение: с самого начала разработчики исходили из того, что модель когда-нибудь подведёт. Поэтому отказ LLM не влияет на базовый функционал — поиск продолжает работать на словаре и векторах. Модель выступает как надстройка, а не как единственный компонент.
Такой подход позволяет экспериментировать с разными моделями и алгоритмами, не рискуя стабильностью системы. В статье подробно разобрано, как именно организовано это взаимодействие и какие механизмы защищают от сбоев.