Те же векторы, другой порядок результатов

Представим поиск по документации: модель та же, документы те же, запрос не меняли. Но после смены меры близости первым оказался другой документ.

Я бы сначала проверил, что именно считает новая настройка. Скалярное произведение учитывает и направление вектора относительно запроса, и его длину. Косинусная близость убирает множитель длины. Поэтому одни и те же представления могут дать разный порядок кандидатов.

На простом примере это видно без векторной базы: короткий вектор смотрит точно в сторону запроса, а более длинный отклоняется. По скалярному произведению второй может выйти вперед. По косинусу первым станет тот, у которого совпадает направление.

Из этого еще не следует, что нормировка улучшила поиск. Длина вектора не равна автоматически качеству документа или уверенности модели. Ее роль зависит от выбранной модели и обучения.

Сначала стоит сравнить обе меры на одинаковых запросах и кандидатах, заранее определив полезный результат. Затем проверить настройку на новых запросах. Если приложение отсекает документы по числовому порогу, его тоже придется проверить заново.

У вас выбор меры близости обоснован проверкой качества или остался из первого примера настройки индекса?