1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

watsonx.dataにMilvusを追加して、接続テストを行っていきます。

  • テスト環境
    • Milvus: 2.4.0
    • python:3.11.9
    • pymilvus:2.5.0

1. watsonx.dataにMilvusを追加

ナビゲーションメニューから、インフラストラクチャーマネージャーを選択し、コンポーネントの追加をクリックします。

image.png

Milvus を選択し、次へをクリックします
image.png

  • 表示名に適当な名前を付けます
  • サイズを選びます
  • ストレージ・バケットの追加で接続方法を選びます。スターター・サイズでは管理バケットの中にデータも保持することができます。小・中・大のオプションではあらかじめICOSなどにデータを保管するバケットを用意する必要があります

image.png

作成をクリックするとプロビジョンが始まります。

image.png

プロビジョンが終わりました。
クリックすると、
image.png

詳細な情報が見れます。
さらに「接続の詳細を見る」をクリックすると、

image.png

詳細な接続情報が見れます。
image.png

2. pymilvusで接続

pymilvusで接続してみます。

2.1. APIキーの作成

IBM Cloudのwatsonx.dataの操作を行うにはAPIキーが必要です。

IAMのAPIキーのメニューから「作成」でAPIキーを作ります。
https://cloud.ibm.com/iam/apikeys
image.png

任意の名前を付けて作成します。
image.png

コピーやダウンロードして保存しておきます。
image.png

以下のコマンドなどでpymilvusを導入します。

py -3.11 -m pip install pymilvus

2.2. Milvusへの接続情報をセット

Milvusへの接続情報をセットします。
マニュアルにしたがって、APIキーを使って接続します。

wxdata_host:GRPCホスト
wxdata_port=GRPCポート
wxdata_user='ibmlhapikey' ←固定値
wxdata_apikey=2.1で用意したAPIキー ←パスワードとして使用します。

wxdata_host='xxxxxxxxxxxxxxxxxxxxxxx.lakehouse.appdomain.cloud' 
wxdata_port='30656'
wxdata_user='ibmlhapikey'
wxdata_apikey='xxxxxxxxxxxxxxxxxxxxxxx'

取得元との関係は以下です。

{2F9DD8AE-D598-430C-ACDA-7F6AAF328F52}.png

2.3. connectionsを使った接続

Milvusへの接続はいくつかありますが、まずはconnectionsを使って接続してみます。

connectで接続します。hostとportの指定で接続していますが、uriの指定でも接続できます。passwordにはAPIキーを使います。db_nameを指定しないとdefaultデータベースに接続されます。
utility.get_server_type())でサーバータイプを取得して、disconnectしています。

from pymilvus import connections, utility

# Establish a connection
connections.connect(
    host=wxdata_host, 
    port=wxdata_port, 
    secure=True, 
    user=wxdata_user,
    password=wxdata_apikey
)

# Check the server type
print(utility.get_server_type())
connections.disconnect(alias="default")

utility.get_server_type())の結果は

milvus

が返ります。

2.4. MilvusClientを使った接続

次はMilvusClientを使って接続してみます。

uriの指定で接続できます。connectionsで接続します。hostとportの指定では接続できません。passwordにはやはりAPIキーを使います。db_nameを指定しないとdefaultデータベースに接続されます。
client.list_databases()でデータベースをリストして、closeしています。

from pymilvus import MilvusClient

#milvus_client = MilvusClient(my_connection_args)
client = MilvusClient(
    uri="https://"+wxdata_host+":"+wxdata_port,
    user=wxdata_user,
    password=wxdata_apikey
)
print(client.list_databases())
client.close()

client.list_databases()の結果は

['default']

が返りました。

サンプルコード

参考

Milvus サービスの追加 | IBM Cloud 資料

watsonx.data: IBM Cloud SaaS版を無料のLite Planで作成 #ibmcloud - Qiita

watsonx.data: Milvus接続情報の取得 #watsonx.data - Qiita

Connecting to Milvus service | IBM Cloud 資料

connectionsを使った接続

MilvusClientをつかった接続

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?