Задача: в RAG-боте каждый вопрос нужно правильно направить — искать в документах, ответить из общей модели или продолжить предыдущий диалог. Ошибка маршрутизации = лишние запросы к базе или потеря контекста. Гонять ради этого тяжёлую LLM — дорого и медленно.
Что построил: классификатор намерений на дообученном ruBERT-tiny2. Определяет тип запроса (поиск по документам / свободный чат / уточнение) и отдаёт маршрут за миллисекунды на обычном CPU.
Как работает:
— Дообучение лёгкой модели ruBERT-tiny2 под три класса намерений на размеченном датасете.
— Экспорт в ONNX: инференс ~3.7 мс на CPU, ~117 МБ — работает без GPU, дёшево в проде.
— Полная воспроизводимость: пайплайн данные → обучение → метрики → экспорт задокументирован и повторяем, код и веса опубликованы.
Результат: F1 = 0.90 на отложенной выборке. Маршрутизация запросов в RAG стала быстрой и предсказуемой — без обращения к большой LLM ради классификации.
Стек: Python, ruBERT-tiny2, HuggingFace Transformers/Trainer, ONNX Runtime, Google Colab.
https://huggingface.co/Gleckus/intent-classifier-rubert-tiny2