IBM Cloud Docs
Milvus サービスへの接続

Milvus サービスへの接続

以下のいずれかのコマンドを実行し、 Milvusと接続する:

開始前に

次の項目がインストールされている、または利用可能であることを確認してください。

  • Pythonおよび Pymilvus パッケージ。 詳細については、についてPyMilvus
  • Milvus インスタンスのホスト名とポート。 Infrastructure manager から Milvusの hostport。( Milvus サービスをクリックして Details ページを開き、GRPCホストからの hostport。)
  • ユーザーに役割を割り当てるか、サービスID からインフラストラクチャマネージャー。 ユーザーのロールについては、ロールと権限の管理を参照してください。

手順

APIキーまたはIAMトークンを使用して Milvus サービスに接続することができます。

  1. watsonx.dataで Milvus サービスを提供する。 詳細については、 Milvus サービスの追加 を参照してください。

  2. 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)トークンの取得 を参照してください。

  3. 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は非推奨であり、将来のリリースで削除される可能性があります。

  4. プロキシルートを使って 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 クラスタは最大64個のデータベースをサポートします。 詳細については、データベースの管理

  • コレクションの管理お好みのSDKを使用して、コレクションを作成および管理できます。 Milvus クラスタは最大65,536コレクションをサポートします。 詳細については、コレクションの管理

  • パーティションの管理コレクションにパーティションを作成し、管理することができます。 Milvus クラスタは最大4095パーティションをサポートします。 詳細については、パーティションの管理

  • インデックスの管理コレクション内のベクトルフィールドにインデックスを作成および管理できます。 詳細については、「インデックスの管理」を参照してください。

  • 検索とクエリ Milvusにおけるデータの検索とクエリについては、 検索、クエリ、取得 を参照してください。

関連API

関連APIについては、こちらをご覧ください