IBM Cloud Docs
連接至 Milvus 服務

連接至 Milvus 服務

執行以下任一指令來連接 Milvus:

開始之前

確保以下項目已安裝或可用:

  • Python和 Pymilvus 包。 有關更多信息,請參閱 關於PyMilvus
  • Milvus 實例的主機名稱和連接埠。 你可以獲得 Milvushostport 來自基礎設施管理器的資訊(點擊 Milvus 服務以開啟詳細資訊頁面並記下 hostport 來自 GRPC 主機的資訊)。
  • 為使用者指派角色或 服務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> 替換為IBM API 金鑰。 有關取得 API 金鑰的信息,請參閱 取得IBM API 金鑰

    • 使用下列其中一個指令,使用 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 令牌。 有關取得令牌的信息,請參閱 取得IBM Access Management(IAM)令牌

    • 使用下列其中一個指令,使用統一資源識別碼 (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 令牌。 有關取得令牌的信息,請參閱 取得IBM Access Management(IAM)令牌

  3. 若要使用 REST 路由連線至 Milvus 並進行 API 呼叫,請執行下列指令:

    curl --request GET \
         --url "https://<REST-host>:<REST-port>/api/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 POST \
    --url "https://<proxy-host>:<port>/v2/vectordb/collections/list" \
    --header "Authorization: Basic $(echo -n 'user:password' | base64)" \
    --header "Content-Type: application/json" \
    -d '{
        "dbName": "default"
    }'
    

    例如:

    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'
    -d '{
        "dbName": "default"
    }'
    

自 watsonx.data 版本 2.2 起,建議使用 API 版本 v2/。 API 版本 v1/ 可能會被廢棄,並在未來的版本中移除。

在 Milvus 版本 v2/ API 下,watsonx.data 中的 Milvus 服務不支援使用者和角色類別的 API。 如需詳細資訊,請參閱 Milvus API

下一步

與 Milvus 服務建立連線後,您可以執行以下操作:

  • 管理資料

  • 管理資料庫:您可以在 Milvus 中建立資料庫,並為特定使用者指派權限來管理它們。 一個 Milvus 叢集最多支援 64 個資料庫。 有關更多信息,請參閱 管理資料庫

  • 管理集合:您可以使用您選擇的 SDK 建立和管理集合。 一個 Milvus 集群最多支援 65,536 個集合。 有關更多信息,請參閱 管理收藏

  • 管理分區:您可以在集合中建立和管理分區。 一個 Milvus 集群最大支援 4095 個分區。 有關更多信息,請參閱 管理分區

  • 管理索引:您可以在集合中的向量欄位上建立和管理索引。 有關詳細信息,請參閱 管理索引

  • 搜尋和查詢:有關在 Milvus 中搜尋和查詢資料的資訊,請參閱 Search、Query 和 Get

相關API

如需相關 API 的資訊,請參閱