Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда разработчики выбирают векторные базы данных, варианты с открытым исходным кодом предоставляют множество преимуществ. "Открытый исходный код" означает, что исходный код программного обеспечения доступен бесплатно, что позволяет пользователям настраивать базу данных в соответствии с их конкретными потребностями. Эта гибкость полезна для организаций, которые подвергаются уникальным нормативным требованиям к данным, таким как компании в отрасли финансовых услуг.
Еще одним преимуществом баз данных векторов с открытым кодом является сильная поддержка сообщества, которой они пользуются. Активные сообщества пользователей часто способствуют разработке этих баз данных, обеспечивают поддержку и совместное использование рекомендаций, продвижение инноваций.
Некоторые люди выбирают векторные базы данных с открытым исходным кодом, так как они являются "бесплатными", то есть нет затрат на получение или использование программного обеспечения. Альтернативой является использование бесплатных уровней, предлагаемых службами управляемых векторных баз данных. Эти управляемые службы предоставляют не только бесплатный доступ к определенному ограничению использования, но и упрощают рабочее бремя, обрабатывая обслуживание, обновления и масштабируемость. Таким образом, используя бесплатный уровень управляемых служб баз данных векторов, пользователи могут добиться экономии затрат, уменьшая затраты на управление. Этот подход позволяет пользователям сосредоточиться больше на своих основных действиях, а не на администрировании баз данных.
Рабочий механизм баз данных векторов
Векторные базы данных предназначены для хранения и управления векторными эмбеддингами, которые являются математическими представлениями данных в многомерном пространстве. В этом пространстве каждое измерение соответствует признаку данных, а для представления сложных данных можно использовать десятки тысяч измерений. Позиция вектора в этом пространстве представляет свои характеристики. Слова, фразы или целые документы, изображения, аудио и другие типы данных могут быть векторизированы. Эти векторные внедрения используются в поиске сходства, многомодальном поиске, подсистемах рекомендаций, моделях больших языков (LLM) и т. д.
Архитектура этих баз данных обычно включает подсистему хранения и механизм индексирования. Подсистема хранилища оптимизирует хранение векторных данных для эффективного извлечения и манипуляции, а механизм индексирования упорядочивает данные для быстрых операций поиска и извлечения.
В векторной базе данных векторные представления индексируются и ищутся с помощью алгоритмов векторного поиска на основе их векторного расстояния или сходства. Надежный механизм необходим для выявления наиболее релевантных данных. Некоторые известные алгоритмы поиска векторов включают Иерархически-Навигационный Малый Мир (HNSW), Инвертированные Файлы (IVF) и т. д.
Векторные базы данных используются в многочисленных доменах и ситуациях в аналитических и генеривных ИИ, включая обработку естественного языка, распознавание видео и изображения, систему рекомендаций, поиск и т. д. Например, можно использовать векторную базу данных для:
- Определение похожих изображений, документов и песен на основе их содержимого, тем, тональности и стилей
- Определение аналогичных продуктов на основе их характеристик, функций и групп пользователей
- Рекомендации по содержимому, продуктам или службам на основе предпочтений отдельных лиц
- Рекомендации по содержимому, продуктам или службам на основе сходств групп пользователей
- Определение наиболее подходящих потенциальных вариантов из большого пула вариантов для удовлетворения сложных требований
- Определение аномалий данных или мошеннических действий, которые отличаются от преобладающих или нормальных шаблонов
- Реализация постоянной памяти для агентов ИИ
- Включите извлечение с дополненным генеративным процессом (RAG)
Интегрированная векторная база данных и чистая векторная база данных
Существует два распространенных типа реализаций векторных баз данных — чистой векторной базы данных и интегрированной векторной базы данных в NoSQL или реляционной базе данных.
Чистая векторная база данных предназначена для эффективного хранения векторных внедрений и управления ими, а также небольшого объема метаданных; он отличается от источника данных, от которого производные внедрения.
Векторная база данных, интегрированная в высокопроизводительную базу данных NoSQL или реляционную базу данных, предоставляет дополнительные возможности. Интегрированная векторная база данных в NoSQL или реляционной базе данных может хранить, индексировать и выполнять запросы на эмбединги вместе с соответствующими исходными данными. Этот подход устраняет дополнительные затраты на репликацию данных в отдельной базе данных чистого вектора. Кроме того, сохранение векторных внедрения и исходных данных лучше упрощает операции с много модальными данными и обеспечивает более высокую согласованность данных, масштабирование и производительность.
Выбор лучшей векторной базы данных с открытым исходным кодом
Выбор лучшей векторной базы данных с открытым исходным кодом требует рассмотрения нескольких факторов. Производительность и масштабируемость базы данных важны, так как они влияют на то, может ли база данных обрабатывать определенные требования к рабочей нагрузке. Базы данных с эффективными возможностями индексирования и запросов обычно обеспечивают оптимальную производительность. Другим фактором является поддержка сообщества и документация, доступная для базы данных. Надежное сообщество и обширная документация могут оказать ценную помощь. Ниже приведены некоторые популярные векторные базы данных с открытым исходным кодом:
- DocumentDB
- Цветность
- Милвус
- Qdrant
- Weaviate
Тем не менее, самый популярный вариант может быть не лучшим вариантом для вас. Таким образом, следует сравнить различные параметры на основе функций, поддерживаемых типов данных, совместимости с существующими инструментами и платформами, которые вы используете. Также следует помнить о проблемах баз данных векторов с открытым исходным кодом (ниже).
Проблемы баз данных векторов с открытым исходным кодом
Большинство баз данных векторов с открытым исходным кодом, включая перечисленные выше, являются чистыми векторными базами данных. Другими словами, они предназначены только для хранения и управления векторными встраиваниями, а также небольшим объемом метаданных. Поскольку они не зависят от источника данных, из которого получены эмбеддинги, их использование требует отправки ваших данных между интеграциями сервисов, что добавляет дополнительные затраты, усложняет процесс и создает узкие места в ваших рабочих нагрузках.
Они также представляют проблемы, типичные для баз данных с открытым кодом:
- Настройка. Пользователям требуются подробные знания для установки, настройки и эксплуатации, особенно для сложных развертываний. Оптимизация ресурсов и конфигурации при масштабировании операций требует тесного мониторинга и корректировки.
- Обслуживание: пользователи должны управлять собственными обновлениями, исправлениями и обслуживанием. Таким образом, опыт машинного обучения не будет достаточного; пользователи также должны иметь широкий опыт администрирования базы данных.
- Поддержка: официальная поддержка может быть ограничена по сравнению с управляемыми службами, опираясь больше на помощь сообщества.
Поэтому, хотя изначально они бесплатны, векторные базы данных с открытым исходным кодом несут значительные затраты при увеличении масштаба. Расширение операций требует больше оборудования, квалифицированных ИТ-сотрудников и расширенного управления инфраструктурой, что приводит к более высоким затратам на оборудование, персонал и операционные расходы. Масштабирование баз данных векторов с открытым исходным кодом может быть финансово требующим, несмотря на отсутствие сборов за лицензирование.
Решение проблем баз данных векторов с открытым исходным кодом
Полностью управляемая база данных векторов, интегрированная в высокопроизводительную базу данных NoSQL или реляционную базу данных, позволяет избежать дополнительных затрат и сложности баз данных векторов с открытым исходным кодом. Такие базы данных хранят, индексируют и запрашивают векторы вместе с соответствующими исходными данными. Этот подход устраняет дополнительные затраты на репликацию данных в отдельной базе данных чистого вектора. Кроме того, сохранение векторных внедрения и исходных данных лучше упрощает операции с много модальными данными и обеспечивает более высокую согласованность данных, масштабирование и производительность. Между тем, полностью управляемая служба помогает разработчикам избежать проблем от настройки, обслуживания и использования помощи сообщества для базы данных векторов с открытым исходным кодом. Кроме того, некоторые службы управляемых векторных баз данных предлагают бесплатный уровень на всю жизнь.
Примером является интегрированная векторная база данных в Azure Cosmos DB для MongoDB. Это позволяет разработчикам получать те же финансовые преимущества, связанные с базами данных векторов с открытым исходным кодом, а поставщик услуг обрабатывает обслуживание, обновления и масштабируемость. Когда пришло время увеличить масштаб операций, обновление быстро и легко при сохранении низкой общей стоимости владения (TCO). Эту службу также можно использовать для удобного масштабирования приложений MongoDB , которые уже находятся в рабочей среде.