Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Kak nastroit vektornyy poisk bez gadaniy
Dev48

© 2026 · All rights reserved.

Как настроить векторный поиск без гаданий

Источник: Qdrant

Как настроить векторный поиск без гаданий

Источник: Qdrant

Ваша коллекция работает. Запросы возвращаются за несколько миллисекунд, результаты в основном верны, а отдел продукта продолжает пересылать вам те, что неверны. Вы открываете справочник по API поиска и находите точные определения для hnsw_ef, k для reciprocal rank fusion и квантованного…

26 сентября 2026 г.

Ваша коллекция работает. Запросы возвращаются за несколько миллисекунд, результаты в основном верны, а отдел продукта продолжает пересылать вам те, что неверны. Вы открываете справочник по API поиска и находите точные определения для hnsw_ef, k для reciprocal rank fusion и квантованного пересемплирования. Определения верны. Но они все равно не говорят вам, какая настройка не работает на ваших данных.

Поэтому вы меняете одну настройку, перезапускаете запросы, и оценка меняется на 0,01. Улучшилась ли релевантность или те же запросы просто сработали иначе?

У каждой настройки есть правильное значение, и оно зависит от особенностей вашей коллекции, которые не видны по умолчанию. Эти особенности можно измерить. Мы провели такие измерения на пяти публичных наборах данных, от 5183 до 4,6 миллиона документов, и опубликовали результаты сегодня в пяти статьях. Вот проблема, которую решает каждая из них, и результат, которого мы не ожидали.

Пять статей рассматривают один путь запроса. Плотный и разреженный префетчинг извлекают кандидатов, слияние объединяет два списка в один рейтинг, а опциональный переранкер переупорядочивает его верхнюю часть.

Семь настроек, которые могут незаметно ухудшить ваш поиск

Начните с того, где вопрос об изменении на 0,01 получает свой ответ. Семь настроек коллекции могут ограничивать качество поиска независимо от того, что вы настраиваете дальше. Два примера: разреженный вектор без модификатора IDF не позволяет редким словам иметь больший вес, чем обычным, а средняя длина BM25, оставленная по умолчанию, неверно оценивает длину каждого документа. Ни то, ни другое не вызывает ошибку. Результаты просто становятся хуже.

Ваши метки также определяют, что вы можете измерить. В наших запусках 25 размеченных запросов оказалось недостаточно: шум был сильнее, чем любой прирост, полученный при настройке слияния. Статья «Что проверить перед настройкой коллекции Qdrant» охватывает все семь настроек и показывает, сколько размеченных запросов вам нужно, прежде чем следующим четырем проверкам можно будет доверять.

Извлечение сработало, ранжирование похоронило результат

Каждая поисковая система в конечном итоге сталкивается с этой жалобой: документ, который, как знает пользователь, существует, не появляется. Они искали по очевидным терминам, а он оказался на 40-м месте или вовсе не был найден. Либо извлечение пропустило его, либо ранжирование похоронило. Эти сбои требуют разных исправлений.

Очевидный шаг — извлекать больше. Увеличение количества извлеченных данных действительно помогло: повышение лимита кандидатов с 10 до 500 подняло максимально достижимую оценку на 0,28. Оценка, которую видели пользователи, изменилась максимум на 0,01, потому что ранжирование хоронило то, что извлечение уже нашло. Даже hnsw_ef, регулятор, к которому команды обращаются в первую очередь, изменил итоговую оценку максимум на 0,0022. Статья «Глубина кандидатов: сколько извлечения достаточно?» показывает проверку, которая отделяет пропущенное извлечение от похороненной релевантности, прежде чем вы потратите ресурсы на исправление не того параметра.

Одна константа изменила первый результат в 202 из 480 запросов

Гибридный поиск выполняет плотный и разреженный запросы, а затем объединяет два списка результатов с помощью reciprocal rank fusion. Одна константа, k, определяет, насколько это слияние отдает предпочтение документам с самым высоким рейтингом в каждом списке. В Qdrant по умолчанию установлено k=2, что делает ставку на первый выбор каждого списка. Переход на k=61 из оригинальной статьи изменил документ, занявший первое место, в 202 из 480 запросов на одном из наших наборов данных.

Это делает k достойным тестирования, но, возможно, он вам вовсе не нужен. DBSF, другой метод слияния в Qdrant, не требует параметров и превзошел стандартный RRF на трех из пяти наборов данных. Статья «Как настроить гибридный поиск в Qdrant» показывает, какой метод выбрать и какой показатель поможет подобрать k, если вы все же решите его настраивать.

Переранкер получил признание за настройку, которую мы пропустили

Вы добавляете кросс-энкодер, релевантность улучшается, и вы внедряете его. Это улучшение стоит одного прохода модели на каждого кандидата при каждом запросе, пока работает переранкер.

Прежде чем платить эту цену при каждом запросе, сначала настройте слияние. Часть того, что, по-видимому, дает переранкер, — это настройка слияния, которую вы пропустили. Лучший из четырех переранкеров превзошел стандартное слияние Qdrant на всех пяти наборах данных, но при настроенном слиянии большая часть этого прироста исчезла, а один выигрыш превратился в проигрыш. Статья «Стоит ли использовать переранкер?» показывает дешевый тест, который подскажет, когда модель оправдывает свою задержку.

Запрос, который стал в 10 раз медленнее за выходные

Ваш p95 выглядел нормально в пятницу. Коллекция выросла за выходные. В понедельник тот же запрос выполняется в десять раз дольше, без ошибок и без изменений конфигурации.

Виновник — пересчет (rescoring). Квантование хранит сжатую копию ваших векторов в оперативной памяти и перечитывает оригиналы, чтобы исправить ошибку сжатия. Пока оригиналы помещаются в память, это перечитывание почти бесплатно. Как только они перестают помещаться, система обращается к диску: тот же запрос замедлился с 4,3 мс до 43,4 мс.

Поэтому измеряйте квантование с тем лимитом памяти, который вы используете при развертывании, потому что машина со свободной оперативной памятью может скрыть стоимость чтения с диска. И дважды подумайте, прежде чем отключать его: без пересчета плотный этап находил только шесть из десяти истинных ближайших соседей. Статья «Когда ваша коллекция перестает помещаться в RAM» содержит протокол выбора между скоростью и полнотой (recall), а также сигнал, который предупредит вас раньше, чем это сделает p95.

Начните с проблемы, которая у вас есть

Каждая статья отвечает на один из этих вопросов:

  • Вы изменили настройку и не можете сказать, помогло ли это: «Что проверить перед настройкой коллекции Qdrant»
  • Документ, который, как вы знаете, существует, возвращается похороненным или отсутствует: «Глубина кандидатов: сколько извлечения достаточно?»
  • Вы используете гибридный поиск с настройками слияния по умолчанию: «Как настроить гибридный поиск в Qdrant»
  • Вы решаете, оправдает ли переранкер свою задержку: «Стоит ли использовать переранкер?»
  • Задержка подскочила после роста коллекции: «Когда ваша коллекция перестает помещаться в RAM»

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

← Все статьи

Ещё в разделе «Разработка ПО»

Все →
У Automattic появился новый совет директоров после неудачной попытки отправить генерального директора в отпускПресса
Automattic

У Automattic появился новый совет директоров после неудачной попытки отправить генерального директора в отпуск

Новый навык обнаруживает риски ИИ-агентов, устраняет их и доказывает эффективность исправлений
Microsoft

Новый навык обнаруживает риски ИИ-агентов, устраняет их и доказывает эффективность исправлений

Некоторые клиенты Supabase открывают в публичном доступе огромные массивы личных данных пользователей
Пресса
Supabase

Некоторые клиенты Supabase открывают в публичном доступе огромные массивы личных данных пользователей

Основы Blazor: SEO для веб-приложений на Blazor
Telerik

Основы Blazor: SEO для веб-приложений на Blazor

Вас затронули сокращения? Не упустите возможность приобрести пропуск Expo+ на TechCrunch Disrupt 2026 всего за 75 долларовПресса
Expo

Вас затронули сокращения? Не упустите возможность приобрести пропуск Expo+ на TechCrunch Disrupt 2026 всего за 75 долларов

Последние 24 часа, чтобы сэкономить до 200 долларов на TechCrunch Disrupt 2026. Причина 5 из 5 для участия: ИмпульсПресса
Momentum

Последние 24 часа, чтобы сэкономить до 200 долларов на TechCrunch Disrupt 2026. Причина 5 из 5 для участия: Импульс

Ещё от Qdrant

SHIFT: смена языков в многоязычном RAG
Qdrant

SHIFT: смена языков в многоязычном RAG

Хватит плохих бенчмарков: инструменты для исследований промышленного уровня
Qdrant

Хватит плохих бенчмарков: инструменты для исследований промышленного уровня

Qdrant и Minima обеспечивают в 2,92 раза больше агентских задач RAG на один GPU-час
Qdrant

Qdrant и Minima обеспечивают в 2,92 раза больше агентских задач RAG на один GPU-час

Как Bayer создала корпоративную поисковую систему с помощью Qdrant
Qdrant

Как Bayer создала корпоративную поисковую систему с помощью Qdrant