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となっていました。
1.2 desktop version of Attuのダウンロード
「Install Desktop application」にダウンロード先のLinkがあります。
desktop version of Attu.をクリックして、ダウンロードサイトを表示します。
対応するバージョンのファイルから
attu-x.x.x-universal.dmg
(x.x.x
はバージョン)
をダウンロードします。
ダウンロードしたら、ファイルをダブルクリックして開きます。
以下のようなWindowが表示されるので、attus.appをドラックしてApplicationsのフォルダの上におけば導入完了です。
ただこのままではLaunchPadから開けないので、一度Finderで「アプリケーション」フォルダーを開きます。
表示されたattu.app
を右クリックして、表示されたメニューの「開く」をクリックします。
以下のようなウィンドウが表示されるので、「開く」をクリックします。
以下のようなウィンドウが表示されるので、「許可」をクリックします。
今後は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を使用する場合は以下を参考にしてください
-
watsonx.data: Milvus接続情報の取得
- 「GRPCホスト」の値を使うことに注意!
-
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
です。
3. Attuで何かできる?
最新のドキュメントはどうも公式は存在してなかったです。Try&Errorで使ってみるしかなく(!)。
一応ここにドキュメントはあったのですが、更新が3年前でした!!! これ以上探しだせなかったのですが、また発見したら更新予定です。
1. Collectionの操作
Import/Export・データ削除・サンプルデータの作成・検索
2. ベクトル検索
検索対象にするにはCollectionを「ロード」しておかないといけないらしいです。
ベクトルデータを手打ちは結構大変では?と思うので使えるのかよくわかってないです。わかってる方はうまくコピペデータを作って使うのかもしれません。これはコードで書いた方がいいような???
3. ユーザーとロールの管理
4. システム・ビューの表示
5. データベースの操作
上記の操作でコマンドやコードをいちいち書きたくない場合は、便利に使えるかもしれません。
以上です。