Обзор#
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
- описание параметров дескрипторов
- описание плагина поиска