Milvus サービスへの接続
以下のいずれかのコマンドを実行し、 Milvusと接続する:
開始前に
次の項目がインストールされている、または利用可能であることを確認してください。
- Pythonおよび Pymilvus パッケージ。 詳細については、についてPyMilvus。
- Milvus インスタンスのホスト名とポート。 Infrastructure manager から Milvusの
host
、port
。( Milvus サービスをクリックして Details ページを開き、GRPCホストからのhost
、port
。) - ユーザーに役割を割り当てるか、サービスID からインフラストラクチャマネージャー。 ユーザーのロールについては、ロールと権限の管理を参照してください。
手順
APIキーまたはIAMトークンを使用して Milvus サービスに接続することができます。
-
watsonx.dataで Milvus サービスを提供する。 詳細については、 Milvus サービスの追加 を参照してください。
-
Python SDK PyMilvus )を用いて、以下のいずれかのコマンドを実行し、 Milvusと gRPC ルート接続する:
-
GRPCコールを使用して Milvus に接続するには、以下のコマンドのいずれかを使用します
print(fmt.format("start connecting to Milvus")) connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhapikey", password="<api-key>") has = utility.has_collection("hello_milvus") print(f"Does collection hello_milvus exist in Milvus: {has}")
または
from pymilvus import MilvusClient, DataType client = MilvusClient( host=<host>, port=<port>, secure=True, user="ibmlhapikey", password="<api-key>" )
<api-key>
をIBMAPI キーに置き換える。 APIキーの取得については、IBMAPIキーの取得 を参照してください。 -
IAMトークンを使用して Milvus に接続するには、以下のコマンドのいずれかを使用します
connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhtoken", password="<token>")
または
from pymilvus import MilvusClient, DataType milvus_uri = "https://<ibmlhtoken>:<token>@<host>:<port>" client = MilvusClient( uri=milvus_uri, secure=True )
<token>
を IAM トークンに置き換える。 トークンの取得については、IBMAccess Management(IAM)トークンの取得 を参照してください。 -
Uniform Resource Identifier (URI) を使用して Milvus に接続するには、以下のコマンドのいずれかを使用します
print(fmt.format("start connecting to Milvus")) connections.connect( alias="default", uri="https://<host>:<grpc-port>", user = "ibmlhtoken", password = "<token>" ) has = utility.has_collection("hello_milvus") print(f"Does collection hello_milvus exist in Milvus: {has}")
または
from pymilvus import MilvusClient, DataType milvus_uri = "https://<ibmlhapikey>:<api-key>@<host>:<port>" client = MilvusClient( uri=milvus_uri, secure=True )
<token>
を IAM トークンに置き換える。 トークンの取得については、IBMAccess Management(IAM)トークンの取得 を参照してください。
-
-
RESTルートを使って Milvus に接続し、APIコールを行うには、以下のコマンドを実行する:
curl --request GET \ --url "https://<REST-host>:<REST-port>/v1/vector/collections" \ --header "Authorization: Basic $(echo -n '<user>:<password>' | base64)" \ --header "Content-Type: application/json"
詳細については、 RESTful APIリファレンスを 参照してください。
APIはプロキシルートで利用することを推奨する。 RESTルートによるAPIは非推奨であり、将来のリリースで削除される可能性があります。
-
プロキシルートを使って Milvus に接続し、APIコールを行うには、以下のコマンドを実行する:
curl --request GET \ --url "https://<PROXY-host>:<PROXY-port>/v2/vectordb/collections/list" \ --header "Authorization: Basic $(echo -n '<user>:<password>' | base64)" \ --header "Content-Type: application/json" \ --cacert "<path_of_SSL_cert>"
以下に例を示します。
curl --request POST \ --url "https://e633a638-420b-499c-9291-288e425a2d25.cdc406pd09pasng7elgg.lakehouse.dev.appdomain.cloud:32699/v2/vectordb/collections/list" \ --header 'accept: application/json' \ --header "Authorization: Basic $(echo -n 'ibmlhapikey:<value of api key>' | base64)" \ --header 'Content-Type: application/json'
watsonx.data バージョン 2.2 の時点で、API バージョン v2/ の使用を推奨する。 APIのバージョン v1/、将来のリリースでは非推奨となり削除される可能性がある。
次のタスク
Milvus サービスとの接続確立後、以下の操作を行うことができます:
-
データの管理
- Milvus サービスでは、データの挿入、アップサート、削除が可能です。 詳しくは、挿入、アップサート、削除 を参照。
- Milvusからデータをインポートすることができます。 詳細については、データの準備とインポート を参照してください
-
データベースの管理 Milvusでデータベースを作成し、特定のユーザに管理権限を割り当てることができます。 Milvus クラスタは最大64個のデータベースをサポートします。 詳細については、データベースの管理。
-
コレクションの管理お好みのSDKを使用して、コレクションを作成および管理できます。 Milvus クラスタは最大65,536コレクションをサポートします。 詳細については、コレクションの管理。
-
パーティションの管理コレクションにパーティションを作成し、管理することができます。 Milvus クラスタは最大4095パーティションをサポートします。 詳細については、パーティションの管理。
-
インデックスの管理コレクション内のベクトルフィールドにインデックスを作成および管理できます。 詳細については、「インデックスの管理」を参照してください。
-
検索とクエリ Milvusにおけるデータの検索とクエリについては、 検索、クエリ、取得 を参照してください。
関連API
関連APIについては、こちらをご覧ください