🚀 Zilliz Cloudを無料で試す、完全管理型のMilvus—10倍の高速パフォーマンスを体験しよう!今すぐ試す>>

milvus-logo
LFAI
  • Home
  • Blog
  • Embedded Milvusを使用したPythonによるMilvusのインストールと実行

Embedded Milvusを使用したPythonによるMilvusのインストールと実行

  • Engineering
August 15, 2022
Alex Gao

Cover カバー

この記事はアレックス・ガオと アンジェラ・ニーの共著です。

MilvusはAIアプリケーションのためのオープンソースのベクトル・データベースである。ソースコードからのビルドや、Docker Compose/Helm/APT/YUM/Ansibleを使ったMilvusのインストールなど、様々なインストール方法が提供されている。ユーザーは、オペレーティング・システムや好みに応じて、いずれかのインストール方法を選択することができる。しかし、MilvusコミュニティにはPythonを使用するデータサイエンティストやAIエンジニアが多く、現在利用可能な方法よりもはるかにシンプルなインストール方法を切望しています。

そこで私たちは、Milvus 2.1と共にPythonユーザフレンドリ版であるembedded Milvusをリリースし、より多くのPython開発者を支援することにしました。この記事では、埋め込みMilvusとは何かを紹介し、インストール方法と使用方法を説明します。

ジャンプ

組み込みMilvusの概要

Embedded Milvusを使用すると、PythonでMilvusを素早くインストールして使用することができます。Milvusインスタンスを素早く立ち上げることができ、いつでもMilvusサービスを開始・停止することができます。すべてのデータとログは、組み込みMilvusを停止しても保持されます。

組み込みMilvus自体には内部依存関係はなく、etcd、MinIO、Pulsarなどのサードパーティ依存関係を事前にインストールして実行する必要はありません。

組み込みMilvusで行うこと、そしてそのために書くコードの全ては、スタンドアロン、クラスタ、クラウド版など、他のMilvusモードに安全に移行することができます。これはembedded Milvusの最も特徴的な特徴の一つである"Write once, run anywhere "を反映しています

組み込みMilvusはいつ使うのか?

組み込みMilvusとPyMilvusは異なる目的で構築されています。以下のような場合、組み込みMilvusを選択することを検討してください:

  • Milvusをインストールせずに利用したい場合

  • 長時間稼働するMilvusプロセスをマシン内に保持せずにMilvusを使用したい場合。

  • Milvusプロセスやetcd、MinIO、Pulsarなどの必要なコンポーネントを個別に起動せずにMilvusを使いたい。

組み込みMilvusは使用しないことを推奨します:

  • 本番環境での使用。(本番環境でMilvusを使用するには、MilvusクラスタまたはフルマネージドMilvusサービスであるZillizクラウドをご検討ください)。

  • パフォーマンスに対する要求が高い場合。(比較的、組み込みMilvusは最高のパフォーマンスを提供しないかもしれません)。

Milvusの各モードの比較

以下の表は、Milvusのいくつかのモードを比較したものです。スタンドアロン、クラスタ、組み込みMilvus、そしてフルマネージドMilvusサービスであるZillizクラウドです。

comparison 比較

組み込みMilvusのインストール方法は?

組み込みMilvusをインストールする前に、まずPython 3.6以降がインストールされていることを確認する必要があります。Embedded 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 を実行してください。

インストールコマンドを実行した後、以下のコマンドを実行して/var/bin/e-milvus の下に埋め込みMilvus用のデータフォルダを作成する必要がある:

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

組み込みMilvusの起動と停止

インストールが成功したら、サービスを開始することができます。

初めてembedded Milvusを実行する場合は、まずMilvusのインポートとembedded 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のインポート後、milvus.start()

$ 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を停止し、環境変数をクリーンアップすることをお勧めします。

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

今後の予定

Milvus 2.1の正式リリースに伴い、新機能を紹介する一連のブログを用意しました。詳しくはこちらのブログシリーズをご覧ください:

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

続けて読む