6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Milvusのグラフィカルな管理ツール AttuをMacに導入してみた

Last updated at Posted at 2024-03-19

Attuはベクトルデータベース MilvusのGUIで操作できるOSSの管理ツールです。

Docker版、desktop版があって、この投稿はMacのDesktop版の話です。ただGUIツールなので動いてしまえば、どの版でも操作は変わらないと思っています。

尚、参考までにMilvus自体の導入についてはMacに導入する方法を以下で書いています:
M1 Mac上でcolimaを使ってベクトルDB Milvusをインストール

2024/05/13: SaaS版watsonx.data Milvusで接続する場合の情報を追記しました

1. Mac Desktop版の導入

(ちなみにそんなに特別な手順はありません)

1.1 対応するversionの確認

使用しているMilvusのバージョンによって、推奨のAttu Versionが異なるので以下で確認します。
Compatibility
この投稿を作成時はMilvus2.3.xならv2.3.8となっていました。
image.png

1.2 desktop version of Attuのダウンロード

Install Desktop application」にダウンロード先のLinkがあります。
image.png
desktop version of Attu.をクリックして、ダウンロードサイトを表示します。
対応するバージョンのファイルから
attu-x.x.x-universal.dmg(x.x.xはバージョン)
をダウンロードします。
image.png

ダウンロードしたら、ファイルをダブルクリックして開きます。
以下のようなWindowが表示されるので、attus.appをドラックしてApplicationsのフォルダの上におけば導入完了です。
image.png

ただこのままではLaunchPadから開けないので、一度Finderで「アプリケーション」フォルダーを開きます。
表示されたattu.appを右クリックして、表示されたメニューの「開く」をクリックします。
image.png

以下のようなウィンドウが表示されるので、「開く」をクリックします。
image.png

以下のようなウィンドウが表示されるので、「許可」をクリックします。
image.png

Attuの接続画面が表示されます。
image.png

今後はLaunchPadから開けるようになります。ただし「アプリケーション“attu.app”へのネットワーク受信接続を許可しますか?」のウィンドウは毎回出るようです。毎回「許可」をクリックします。

2. AttuでMilvus接続

SSL接続の場合の前準備

SSL接続が不要の場合は「接続画面で情報入力」に進んでください。
またSSL接続でもSaaS版watsonx.dataのMilvusなどサーバーのCA証明書が不要な場合は「接続画面で情報入力」に進んでください。

サーバーのCA証明書が必要な場合

自分で作ったサーバーなど、サーバーのCA証明書が必要な場合は以下で設定します

1. サーバーのCA証明書の入手

MilvusサーバーのCA証明書を入手しておいてください。フォーマットはpem(base64)です。

2.  環境変数ROOT_CERT_PATHのセット

(ここではMacのコマンドで実施していますが、Windowsでも環境変数ROOT_CERT_PATHをセットすればOKだと思います。)

以下のコマンドで環境変数ROOT_CERT_PATHをセットします。このコマンドはAttuの起動前に実行されている必要があります。起動中の場合は一旦落としてください。

launchctl setenv ROOT_CERT_PATH <サーバーのCA証明書ファイルのPATH>

実行例:

launchctl setenv ROOT_CERT_PATH /Users/nishito/presto.crt

この方法で設定した環境変数はMac再起動でリセットされてしまうので、ログインの度にこのコマンドを実行してください。

尚、Mac再起動なしで他のサーバーに非SSLで接続したくなった場合など、この環境変数を削除したくなった場合は以下のコマンドで削除してください。

launchctl unsetenv ROOT_CERT_PATH 

接続画面で情報入力

最初の接続画面で以下の情報を入力し「Connect」をクリックします。

  • Milvus Address
    • SSL無しの場合

      •  [ホスト名]:[ポート番号]
        を入れます。(例:milvus.aaa.bbb:50000)
    • SSL接続の場合

      •  https://[ホスト名]:[ポート番号]
        を入れます。(例:https://milvus.aaa.bbb:50000)
      • SaaS版watsonx.dataのMilvusを使用する場合は以下を参考にしてください
    • 最初はlocalhostのアドレス(127.0.0.1)とデフォルトのポート番号が入っています。

  • Milvus Database(オプション)
    • defaultでない場合は、入力します

  • Milvus Username(オプション)
    • user認証を設定している場合はUsernameを入力します
    • SaaS版 watsonx.data MilvusでAPIKEY接続の場合はuseridはibmlhapikeyです

  • Milvus Password(オプション)
    • user認証を設定している場合はPasswordを入力します
    • SaaS版 watsonx.data MilvusでAPIKEY接続の場合はPasswordにAPIKEYを入れます

尚、user認証は 自分で導入した場合デフォルトfalseのようなので、何も設定していない場合は、UsernameとPassword はありません。
user認証設定した場合で何も変更していない場合は初期設定のAdmin Usernameはroot、PasswordはMilvusです。
image.png

無事接続できると以下のような画面が表示されます。
image.png

3. Attuで何かできる?

最新のドキュメントはどうも公式は存在してなかったです。Try&Errorで使ってみるしかなく(!)。
一応ここにドキュメントはあったのですが、更新が3年前でした!!! これ以上探しだせなかったのですが、また発見したら更新予定です。

1. Collectionの操作

作成・削除・名前変更・複製・インデックスの作成
image.png

Import/Export・データ削除・サンプルデータの作成・検索
image.png

スキーマの表示
image.png

パーティションとセグメントの操作
image.png

image.png

2. ベクトル検索

検索対象にするにはCollectionを「ロード」しておかないといけないらしいです。
ベクトルデータを手打ちは結構大変では?と思うので使えるのかよくわかってないです。わかってる方はうまくコピペデータを作って使うのかもしれません。これはコードで書いた方がいいような???
image.png

3. ユーザーとロールの管理

ユーザーの追加・編集・削除・パスワード更新
image.png

ロールの追加・編集・削除
image.png

4. システム・ビューの表示

image.png

5. データベースの操作

データベースの作成・削除
image.png

上記の操作でコマンドやコードをいちいち書きたくない場合は、便利に使えるかもしれません。
以上です。

参考: Milvus関連投稿

6
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?