Milvus: популярная база данных векторов с открытым исходным кодом

Milvus был создан в 2019 году и в том же году выложил свой исходный код в открытый доступ на GitHub под лицензией Apache 2.0. По состоянию на сентябрь 2023 года Milvus набрал более 22 868 звезд на GitHub, что ставит его в лидеры среди всех технологий векторного поиска.

Обзор архитектуры Milvus

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

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

  • Уровень доступа: Он включает в себя группу прокси-серверов без статических параметров и служит передним уровнем системы, с которым взаимодействуют пользователи.
  • Услуги координатора: Он назначает задачи рабочим узлам, действуя как мозг системы.
  • Рабочие узлы: Они следуют указаниям службы координатора и выполняют команды DML/DDL, инициированные пользователем.
  • Хранилище: Это костяк системы, отвечающий за сохранение данных и включающий в себя метахранилище, лог-брокер и хранилище объектов.

Каждый слой может быть масштабирован или восстановлен независимо, что делает систему более надежной, масштабируемой и прочной.

Ключевые преимущества Milvus

Milvus - ценный инструмент для самых разных областей применения. Вот пять основных преимуществ использования Milvus:

Молниеносный поиск векторного сходства

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

Бесконечная масштабируемость и высокая доступность

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

Гибкая обработка данных

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

Бесшовная интеграция

Milvus предоставляет наборы для разработки программного обеспечения (SDK) и коннекторы для таких популярных языков программирования, как Python, Java и Go. Такая гибкость упрощает интеграцию в существующие рабочие процессы и фреймворки, а также совместима с такими инструментами обработки данных и аналитики, как TensorFlow, PyTorch и Apache Spark.

Активная поддержка сообщества

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

Милвус для поиска дополненной генерации

Поскольку генеративный ИИ становится все более распространенным, векторные базы данных, такие как Milvus, стали неотъемлемой частью стека расширенного поиска (RAG). Это решение известно тем, что позволяет решать проблемы больших языковых моделей (LLM), включая галлюцинации и недостаток знаний о конкретной области.

Milvus предлагает разработчикам и предприятиям безопасное средство для хранения актуальных и конфиденциальных частных данных вне LLM. Когда пользователь задает вопрос, приложения LLM используют модели встраивания для преобразования вопроса в векторные вложения. Затем Milvus выполняет поиск по сходству, чтобы определить наиболее релевантные результаты topk для запроса. В конечном итоге эти результаты объединяются с исходным вопросом, чтобы получить подсказку, которая предлагает полный контекст для LLM, чтобы генерировать более точные ответы.

Популярные примеры использования Milvus

Milvus - популярный и эффективный инструмент, используемый в различных областях, позволяющий разрабатывать множество реальных промышленных приложений.

  • Поиск семантического/текстового сходства: Поиск семантически схожих текстов в обширных коллекциях документов на естественном языке.
  • Рекомендательные системы: Рекомендуют похожую информацию или продукты, основываясь на поведении и предпочтениях пользователя.
  • Поиск сходства изображений: Найдите визуально похожие изображения из обширных библиотек изображений.
  • Поиск сходства аудиоданных: Обнаружение схожих аудиорезультатов из огромного количества аудиоданных, таких как музыка, звуковые эффекты и речь.
  • Система ответов на вопросы: Создайте интерактивный QA-чатбот, который автоматически отвечает на вопросы пользователей.
  • Поиск молекулярного сходства: Поиск похожих субструктур, суперструктур и других структур для заданной молекулы.

Milvus также доказал свою эффективность в различных сценариях, включая классификацию последовательностей ДНК, дедупликацию данных, обнаружение мошенничества, открытие лекарств и защиту авторских прав.

Начало работы с Milvus за несколько минут с помощью Milvus Lite

Milvus предлагает различные варианты развертывания для удовлетворения разнообразных потребностей пользователей. Вы можете установить Milvus Standalone на Kubernetes или с помощью Docker Composer, использовать Milvus Cluster на Kubernetes или перейти на Milvus Offline с диаграммами Helm.

Хотя традиционные методы развертывания предлагают более широкие функциональные возможности, новым пользователям может потребоваться больше времени на настройку полной версии. Чтобы помочь пользователям быстрее освоить Milvus, Бин Джи, один из ведущих участников сообщества Milvus, разработал Milvus Lite, облегченную версию Milvus. Она поможет вам начать работу с Milvus за считанные минуты, обладая при этом множеством преимуществ:

  • Интеграция в приложения Python без лишнего веса.
  • Благодаря совместимости со встроенными etcd и локальными хранилищами, самодостаточность исключает внешние зависимости.
  • Функциональность в виде библиотеки Python и автономного сервера на основе интерфейса командной строки (CLI).
  • Бесшовная совместимость с Google Colab и Jupyter Notebook.
  • Безопасная миграция данных между различными экземплярами Milvus без потери данных.

Примечание: Мы не рекомендуем использовать Milvus Lite в производственной среде или если вам требуется высокая производительность, высокая доступность или высокая масштабируемость. Вместо этого рассмотрите возможность использования кластеров Milvus или полностью управляемых Milvus в Zilliz Cloud для производства.

Эта статья является экземпляром Турбо-текста. Такие тексты отлично продвигают сайты в ТОП органического поиска Яндекс и Google. Здесь я пишу об этом более подробно.

Nikita Interactive, founder

Искренне Ваш,

Nikita Interactive

Это реальная история!

Раздел с Турбо-текстами привлек 18 090 пользователей за 9 месяцев.
На новом сайте. Без ссылок.

Измеримые результаты и устойчивый успех.