GPU, ускорители и инфраструктура LLM

Векторный поиск

Определение

Векторный поиск — отбор и упорядочивание записей по расстоянию или сходству между вектором запроса и векторами индекса. Результат зависит от метрики и совместимости сравниваемых представлений.

Также ищут: vector search · поиск по векторам · dense vector retrieval · поиск ближайших векторов

Зачем это знать

Скалярное произведение и косинусное сходство могут по-разному упорядочить одни и те же векторы. Выбор метрики проверяйте вместе с моделью и нормализацией. Точное нахождение соседей ещё не означает, что их тексты отвечают на вопрос. При смене модели эмбеддингов проверьте, какие векторы сохранены и какой моделью получен вектор запроса.

Доказательная часть

Что подтверждено

  1. В примере Faiss индекс IndexFlatL2 перебирает векторы и возвращает k ближайших, упорядоченных по возрастанию расстояния.

    Граница применимости: Getting started, разделы Building an index and adding the vectors to it и Searching; предполагается, что индекс содержит не менее k векторов.

  2. Для METRIC_L2 Faiss возвращает квадрат евклидова расстояния. Скалярное произведение в общем случае отличается от косинусного сходства.

    Граница применимости: Faiss wiki, METRIC_L2 и METRIC_INNER_PRODUCT; для получения самого расстояния L2 из результата извлекают квадратный корень.

  3. В описанном способе Faiss ненулевые векторы документов и запроса приводят к длине 1, затем ищут максимум скалярного произведения: оно равно косинусному сходству.

    Граница применимости: Faiss wiki, How can I index vectors for cosine similarity?; нормализация по L2. Для нулевого вектора косинусное сходство по приведённой формуле не определено.

  4. Точный поиск ближайших векторов сам по себе не устанавливает, есть ли ответ на вопрос в найденных текстах.

    Граница применимости: Редакционный вывод из точного поиска Faiss и отдельной оценки наличия ответа в DPR; математическая близость и полезность для вопроса — разные критерии.

  5. В руководстве Qdrant по смене эмбеддинг-модели документы заново кодируют новой моделью из исходных данных. Перестройка поискового индекса по прежним векторам не выполняет этот пересчёт.

    Граница применимости: Редакционное сопоставление миграции Qdrant, проверенной авторами с 1.19.0, и построения индекса Faiss по готовым векторам. Пересчёт эмбеддингов и индексирование — разные этапы.

  6. В Qdrant одна запись может хранить несколько именованных векторов, в том числе от разных моделей. Для плотных векторов отдельно задают размерность и метрику; using выбирает пространство поиска.

    Граница применимости: Документация Qdrant, Named Vectors: конфигурация плотных векторов и пример query с using; прочитана 25.10.2026.

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

    Граница применимости: Руководство для Qdrant 1.19.0: Switch Search to the New Vector и Check Retrieval Quality Before Switching. Полнота пересчёта и релевантность выдачи проверяются отдельно.

Перед спецификацией

Что проверить

  1. Зафиксируйте модели, которыми получены векторы запроса и документов.
  2. Уточните, что сортируется: расстояние по возрастанию или сходство по убыванию.
  3. Для косинусного сходства проверьте нормализацию ненулевых векторов.
  4. Проверьте, содержат ли найденные тексты ответ на контрольный вопрос.
  5. Перед сменой модели эмбеддингов найдите исходные данные для пересчёта и проверьте, у всех ли нужных документов есть новые векторы.
  6. При переключении согласуйте модель запроса и выбранное пространство векторов. Проверьте качество на прежних размеченных запросах.
Открытые основания

Первоисточники

  • Исследование1
  • Документация4
  • Официальная документация
    Getting started facebookresearch/faiss Wiki · Faiss wiki, редакция страницы от 2020-06-28; прочитана 2026-10-14, версия библиотеки не заявляется. · проверено

    Прочитаны IndexFlatL2 и Searching: brute-force L2, поиск k соседей и сортировка по возрастанию расстояния в этом примере.

    Утверждения: 01 · 04 · 05

  • Официальная документация
    MetricType and distances facebookresearch/faiss Wiki · Faiss wiki, редакция страницы от 2024-12-03; прочитана 2026-10-14, версия библиотеки не заявляется. · проверено

    Прочитаны METRIC_L2, METRIC_INNER_PRODUCT и cosine similarity. Указана нормализация для описанного способа; не переносить на все библиотеки.

    Утверждения: 02 · 03

  • Первичная публикация
    Dense Passage Retrieval for Open-Domain Question Answering ACL, EMNLP 2020 · EMNLP 2020, Anthology ID 2020.emnlp-main.550, pp. 6769–6781 · проверено

    Разделы 2–3: отбор фрагментов и top-k retrieval accuracy. Знаменатель этой метрики — число проверенных вопросов.

    Утверждения: 04

  • Официальная документация
    Migrate to a New Embedding Model Qdrant · Rolling documentation read 2026-10-25; tutorial states Tested with Qdrant 1.19.0 · проверено

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

    Утверждения: 05 · 07

  • Официальная документация
    Vectors — Named Vectors Qdrant · Rolling documentation read 2026-10-25; Named Vectors and query examples · проверено

    Прочитаны Named Vectors и пример поиска с using: несколько векторов одной записи, раздельные конфигурации и выбор пространства. Изменение схемы существующей коллекции здесь не описывается.

    Утверждения: 06

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие