Перейти к содержанию

Обзор#

LUNA Vector Search Module — это модуль для создания векторных коллекций на основе пользовательских наборов дескрипторов LUNA PLATFORM 5, предназначенный для организации гибкого и высокопроизводительного матчинга по событиям. LVSM позволяет:

  • Организовывать быстрый и гибкий поиск по миллиардам векторов (дескрипторов) с использованием векторной базы данных Qdrant.
  • Создавать коллекции с автоматической синхронизацией данных из LUNA PLATFORM (синхронизация включает только добавление и удаление событий), поддерживая фильтрацию с учетом параметров (например, account_id, create_time).
  • Интегрироваться с существующей инфраструктурой LUNA PLATFORM через систему плагинов Python Matcher Proxy.

LUNA PLATFORM предлагает несколько механизмов матчинга:

  • поиск на основе постоянного хранилища (Postgres) — гибкий, но не всегда достаточно быстрый;

  • плагин Cached Matcher — быстрый, но негибкий, подходит только для матчинга лиц без поддержки дополнительных фильтров;

  • LIM — эффективный приближенный матчинг, но поддерживающий работу только с лицами.

В отличие от выше перечисленных инструментов, которые работают только с лицами, LUNA Vector Search Module расширяет возможности быстрого матчинга по событиям и представляет собой баланс между производительностью и гибкостью. Основной принцип — разделение хранения и вычислений:

  • постоянное хранилище данных — Postgres;

  • специализированное решение для поиска, оптимизированное для работы с векторами и большими объёмами данных — векторная база данных Qdrant.

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

Данный документ содержит раздел Основные положения, где приведено:

  • описание коллекции
  • описание базы данных Qdrant
  • описание параметров дескрипторов
  • описание плагина поиска