Обновить

Комментарии 6

Бред какой-то. С какими параметрами индексы строились? Какой был recall? Как можно сравнивать непонятно что непонятно с чем.

Даже у одного и того же pgvector, QPS может быть 1800, а может быть 8. На одних и тех же данных (glove-100-angular). А сравнивать pgvector с pgvecto.rs c VectorChord с pgvectorscale, все четыре индекса используют неизвестные несравнимые параметры и разный recall — ну, это такое...

Не читал, но автора презираю?)) Про параметры - приведён код миграций в которых собственно видно, что параметры тупо дефолтные. Простой тест из коробки. Про recall - тут весь тест это baseline : дефолтные индексы без тонкой настройки, оценка QPS на левом датасете. Тут метрики — это как линейкой до микрона мерить

Я читал. Поэтому и написал, что нет смысла сравнивать несравнимое.

Кто-то возвращает ответ за 2 секунды, но там из десяти документов пять неправильных. А кто-то — за три, но девять из десяти правильные.

Сравнивать можно только при одном и том же recall. Это несложно. вначале надо собрать ground truth, то есть прогнать запросы без индекса и записать абсолютно правильные ответы. Потом с индексом и считать recall. То есть сколько процентов правильных возвращает. Ну и строить графики, как в ann-benchmarks, qps, build time, index size, recall, что угодно vs что угодно.

postgres с pgvector насколько мне известно, проигрывает по производительности векторным базам данных. Хотелось бы увидеть сравнение именно с векторными базами данных.

Для меня весь смысл был в том, чтобы на существующей инфраструктуре сделать векторный поиск. Поэтому именно Postgres

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации