Управление коллекциями#
Коллекция — именованный набор точек (векторов с полезной нагрузкой), среди которых можно выполнять поиск. Вектор каждой точки внутри одной коллекции должен иметь одинаковую размерность и сравниваться по единой метрике. Именованные векторы могут использоваться для хранения нескольких векторов в одной точке, каждый из которых может иметь свою собственную размерность и требования к метрике (подробнее в разделе Создание коллекции с несколькими векторами).
Метрики расстояния используются для измерения сходства между векторами. Выбор метрики зависит от способа получения векторов и, в частности, от метода обучения нейросети.
Platform V Vector DB (далее - Vector DB) поддерживает следующие наиболее популярные типы метрик:
Скалярное произведение (
Dot) - сумма произведений соответствующих координат векторов. Используется для нормализованных векторов (длина = 1), где чем больше скалярное произведение, тем больше схожесть.Косинусное сходство (
Cosine) - измеряет угол между двумя векторами, игнорируя их длину. Чем меньше угол, тем выше схожесть. Используется для задач семантического поиска (например, тексты, эмбеддинги BERT), когда важна направленность векторов, а не их масштаб.Евклидово расстояние (
Euclid) - расстояние между двумя точками в многомерном пространстве. Используется для задач, где важна абсолютная разница между векторами (например, изображения, аудио).Манхеттенское расстояние (
Manhattan) - сумма абсолютных разностей координат векторов. Используется для высокоразмерных данных или задач, где важна направленность, но не масштаб (например, геолокационные данные).
Информация
Для повышения эффективности поиска косинусное сходство реализовано как скалярное произведение нормализованных векторов. Векторы автоматически нормализуются при загрузке.
Помимо метрик и размера вектора каждая коллекция использует собственный набор параметров, который контролирует оптимизацию коллекции, построение индекса и очистку памяти. Эти настройки могут быть изменены в любое время соответствующим запросом.
Настройка мультитенантности#
Рекомендуемое число коллекций: Во многих случаях рекомендуется использовать одну коллекцию с разделением на основе полезной нагрузки. Данный подход называется мультитенантностью, который эффективен для большинства пользователей, но требует дополнительной настройки (подробнее в разделе Многопользовательский режим).
Причина создания нескольких коллекций: Если используется ограниченное число пользователей и требуется изоляция данных. Данный подход гибкий, но может оказаться более затратным, поскольку создание множества коллекций может привести к избыточной нагрузке на ресурсы. Также необходимо убедиться, что они никаким образом не влияют друг на друга с точки зрения производительности.