🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Использование Embedded Milvus для мгновенной установки и запуска Milvus с Python

Использование Embedded Milvus для мгновенной установки и запуска Milvus с Python

  • Engineering
August 15, 2022
Alex Gao

Cover Обложка

Эта статья написана в соавторстве с Алексом Гао и Анджелой Ни.

Milvus - это векторная база данных с открытым исходным кодом для приложений искусственного интеллекта. Он предлагает различные способы установки, включая сборку из исходного кода и установку Milvus с помощью Docker Compose/Helm/APT/YUM/Ansible. Пользователи могут выбрать один из способов установки в зависимости от своей операционной системы и предпочтений. Однако в сообществе Milvus есть много специалистов по изучению данных и инженеров по искусственному интеллекту, которые работают с Python и жаждут более простого метода установки, чем те, что доступны сейчас.

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

Перейти к:

Обзор встроенного Milvus

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

Сам встроенный Milvus не имеет внутренних зависимостей и не требует предварительной установки и запуска сторонних зависимостей, таких как etcd, MinIO, Pulsar и т. д.

Все, что вы делаете со встроенным Milvus, и каждый кусок кода, написанный для него, может быть безопасно перенесен в другие режимы Milvus - автономный, кластерный, облачную версию и т. д. Это отражает одну из самых характерных особенностей встроенного Milvus - "Write once, run anywhere".

Когда использовать встраиваемый Milvus?

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

  • Вы хотите использовать Milvus без установки Milvus любым из представленных здесь способов.

  • Вы хотите использовать Milvus без длительного запуска процесса Milvus на вашей машине.

  • Вы хотите быстро использовать Milvus без запуска отдельного процесса Milvus и других необходимых компонентов, таких как etcd, MinIO, Pulsar и т. д.

Рекомендуется НЕ использовать встроенный Milvus:

  • В производственной среде.(Чтобы использовать Milvus для производства, рассмотрите кластер Milvus или облако Zilliz, полностью управляемый сервис Milvus).

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

Сравнение различных режимов Milvus

В таблице ниже приведено сравнение нескольких режимов работы Milvus: автономный, кластерный, встроенный Milvus и облако Zilliz, полностью управляемый сервис Milvus.

comparison сравнение

Как установить встроенный Milvus?

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

  • Ubuntu 18.04

  • Mac x86_64 >= 10.4

  • Mac M1 >= 11.0

Если все требования выполнены, вы можете запустить $ python3 -m pip install milvus для установки встроенного Milvus. Вы также можете добавить версию в команду, чтобы установить определенную версию встроенного Milvus. Например, если вы хотите установить версию 2.1.0, выполните команду $ python3 -m pip install milvus==2.1.0. В дальнейшем, когда выйдет новая версия встроенного Milvus, вы также можете выполнить команду $ python3 -m pip install --upgrade milvus, чтобы обновить встроенный Milvus до последней версии.

Если вы старый пользователь Milvus, который уже установил PyMilvus ранее и хочет установить встроенный Milvus, вы можете запустить $ python3 -m pip install --no-deps milvus.

После выполнения команды установки необходимо создать папку данных для встроенного Milvus в каталоге /var/bin/e-milvus, выполнив следующую команду:

sudo mkdir -p /var/bin/e-milvus
sudo chmod -R 777 /var/bin/e-milvus

Запуск и остановка встроенного Milvus

После успешной установки вы можете запустить службу.

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

$ python3
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import milvus
>>> milvus.before()
please do the following if you have not already done so:
1. install required dependencies: bash /var/bin/e-milvus/lib/install_deps.sh
2. export LD_PRELOAD=/SOME_PATH/embd-milvus.so
3. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/var/bin/e-milvus/lib/
>>>

Если вы уже успешно запускали встроенный Milvus ранее и вернулись, чтобы перезапустить его, вы можете напрямую запустить milvus.start() после импорта Milvus.

$ python3
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwinType "help", "copyright", "credits" or "license" for more information.
>>> import milvus
>>> milvus.start()
>>>

Вы увидите следующий результат, если вы успешно запустили службу встроенного Milvus.

---Milvus Proxy successfully initialized and ready to serve!---

После запуска службы вы можете запустить другое окно терминала и запустить код примера "Hello Milvus", чтобы поиграть со встроенным Milvus!

# Download hello_milvus script
$ wget https://raw.githubusercontent.com/milvus-io/pymilvus/v2.1.0/examples/hello_milvus.py
# Run Hello Milvus 
$ python3 hello_milvus.py

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

>>> milvus.stop()
if you need to clean up the environment variables, run:
export LD_PRELOAD=
export LD_LIBRARY_PATH=
>>>
>>> exit()

Что дальше

После официального выхода Milvus 2.1 мы подготовили серию блогов, в которых рассказываем о новых возможностях. Читайте подробнее в этой серии блогов:

Like the article? Spread the word

Продолжить чтение