Войти Регистрация
Data base

268. Бот поддержки не находит ответ по коду ошибки

Средняя

Milvus · Milvus 2.6

Бот поддержки RUTUBE отвечает по FAQ: раз в 60 минут Airflow забирает свежие статьи, режет на фрагменты и обновляет эмбеддинги в Milvus. Эмбеддинги считает модель FRIDA.

Допустим, на вопросы вроде «как подключить монетизацию» бот отвечает хорошо, а на «ошибка 4012 при загрузке» — плохо: фрагмент с кодом 4012 в базе есть, но в топ-5 приходят общие статьи про загрузку видео. Плотный вектор хорошо ловит смысл, а точное совпадение номера почти не учитывает.

В работе: RAG по базе знаний: поиск, который учитывает и смысл, и точные слова.

Как проверяем Движка Milvus в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
гибридный поискsparse-векторыBM25RRFRanker

Источник: блог RUTUBE на Хабре: RAG-бот поддержки на Milvus. Условие пересказано своими словами.

Как устроить поиск в Milvus, чтобы фрагмент с кодом 4012 попадал в выдачу, а смысловой поиск не пострадал?

  • Добавить в коллекцию sparse-поле, которое заполняет встроенная функция BM25 из текста, и искать через hybrid_search по двум полям с RRFRanker
  • Оставить только dense-поиск, но поднять limit с 5 до 100
  • Добавить к поиску скалярный фильтр text like "%4012%"
  • Сделать два отдельных search — по dense-полю и по BM25 — и отсортировать общий список по distance