Verbindung zum Milvus Dienst herstellen

Führen Sie einen der folgenden Befehle aus, um eine Verbindung herzustellen Milvus:

Vorbereitende Schritte

Stellen Sie sicher, dass die folgenden Elemente installiert oder verfügbar sind:

  • Python und Pymilvus-Paket. Weitere Informationen finden Sie unter UmPyMilvus.
  • Hostname und Port für die Milvus. Sie können die Milvus host und port über den Infrastrukturmanager abrufen (klicken Sie auf den Milvus, um die Detailseite zu öffnen, und notieren Sie die Informationen host und port des GRPC-Hosts).
  • Weisen Sie dem Benutzer eine Rolle zu oder Dienst-ID aus Infrastrukturmanager. Informationen zu Benutzerrollen finden Sie unter Verwalten von Rollen und Berechtigungen.

Vorgehensweise

Ab watsonx.data Version ist die Authentifizierung mit ibmlhapikey 2.2.0 und ibmlhtoken als Benutzernamen veraltet. Diese Formate werden in 2.3.0 der Version auslaufen. Um die Kompatibilität mit kommenden Versionen zu gewährleisten, verwenden Sie das neue Format:ibmlhapikey_<username> und ibmlhtoken_<username>.

Sie können sich mit einem Milvus über einen API-Schlüssel oder ein IAM-Token verbinden.

  1. Bereitstellung eines Milvus in watsonx.data. Weitere Informationen finden Sie unter Hinzufügen eines Milvus.

  2. Führen Sie einen der folgenden Befehle mit dem Python SDK PyMilvus ) aus, um eine Verbindung mit Milvus für die gRPC herzustellen:

    • Verwenden Sie einen der folgenden Befehle, um sich über GRPC-Aufrufe mit Milvus zu verbinden:

      print(fmt.format("start connecting to Milvus"))
      connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhapikey_<username>", password="<api-key>")
      has = utility.has_collection("hello_milvus")
      print(f"Does collection hello_milvus exist in Milvus: {has}")
      

      oder

      from pymilvus import MilvusClient, DataType
      
      client = MilvusClient(
         host=<host>,
         port=<port>,
         secure=True,
         user="ibmlhapikey_<username>",
         password="<api-key>"
      )
      

      Ersetzen Sie <api-key> durch den IBM API-Schlüssel. Informationen zum Abrufen eines API-Schlüssels finden Sie unter Abrufen IBM des API-Schlüssels.

    • Verwenden Sie einen der folgenden Befehle, um sich mit dem IAM-Token mit Milvus zu verbinden:

      connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhtoken_<username>", password="<token>")
      

      oder

      from pymilvus import MilvusClient, DataType
      
      milvus_uri = "https://<ibmlhtoken_<username>>:<token>@<host>:<port>"
      client = MilvusClient(
          uri=milvus_uri,
          secure=True
      )
      

      Ersetzen Sie <token> durch das IAM-Token. Informationen zum Abrufen eines Tokens finden Sie unter Abrufen eines IBM IAM-Tokens(Identity and Access Management).

    • Verwenden Sie einen der folgenden Befehle, um eine Verbindung zu Milvus unter Verwendung des Uniform Resource Identifier (URI) herzustellen:

      print(fmt.format("start connecting to Milvus"))
      connections.connect( alias="default", uri="https://<host>:<grpc-port>", user = "ibmlhtoken_<username>", password = "<token>" )
      has = utility.has_collection("hello_milvus")
      print(f"Does collection hello_milvus exist in Milvus: {has}")
      

      oder

      from pymilvus import MilvusClient, DataType
      
      milvus_uri = "https://<ibmlhapikey_<username>>:<api-key>@<host>:<port>"
      client = MilvusClient(
         uri=milvus_uri,
         secure=True
      )
      

      Ersetzen Sie <token> durch das IAM-Token. Informationen zum Abrufen eines Tokens finden Sie unter Abrufen eines IBM IAM-Tokens(Identity and Access Management).

  3. Um eine Verbindung zu Milvus über die REST-Route herzustellen und einen API-Aufruf zu tätigen, führen Sie den folgenden Befehl aus:

    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"
    

    Weitere Informationen finden Sie in der RESTful-API-Referenz.

    Es wird empfohlen, die APIs über die Proxy-Route zu nutzen. Die APIs über die REST-Route sind veraltet und werden möglicherweise in einer zukünftigen Version entfernt.

  4. Um eine Verbindung zu Milvus über die Proxy-Route herzustellen und einen API-Aufruf zu tätigen, führen Sie den folgenden Befehl aus:

    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"
    }'
    

    Zum Beispiel:

    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_<username>:<value of api key>' | base64)" \
    --header 'Content-Type: application/json'
    -d '{
        "dbName": "default"
    }'
    

Ab watsonx.data Version wird die Verwendung 2.2 der API-Version empfohlen v2/. Die API-Version v1/ könnte in einer zukünftigen Version veraltet sein und entfernt werden.

Unter Milvus den v2/ Versions-APIs werden die Kategorien „Benutzer“ und „Rollen“ für den Milvus Dienst in nicht unterstützt watsonx.data. Weitere Informationen finden Sie unter Milvus APIs.

Nächste Schritte

Nachdem Sie eine Verbindung mit einem Milvus hergestellt haben, können Sie die folgenden Operationen durchführen:

  • Daten verwalten

  • Verwalten Sie Datenbanken: Sie können in Milvus Datenbanken erstellen und bestimmten Benutzern die Berechtigung zur Verwaltung dieser Datenbanken erteilen. Ein Milvus unterstützt bis zu 64 Datenbanken. Weitere Informationen finden Sie unter Datenbanken verwalten.

  • Verwalten Sie Sammlungen: Sie können Sammlungen mit dem SDK Ihrer Wahl erstellen und verwalten. Ein Milvus unterstützt maximal 65.536 Sammlungen. Weitere Informationen finden Sie unter Sammlungen verwalten.

  • Verwalten von Partitionen: Sie können Partitionen in einer Sammlung erstellen und verwalten. Ein Milvus unterstützt maximal 4095 Partitionen. Weitere Informationen finden Sie unter Partitionen verwalten.

  • Indizes verwalten: Sie können Indizes für Vektorfelder in einer Sammlung erstellen und verwalten. Weitere Informationen finden Sie unter Verwalten von Indizes.

  • Suchen und Abfragen: Informationen zum Suchen und Abfragen von Daten in Milvus finden Sie unter Suchen, Abfragen und Abrufen.

Zugehörige API

Informationen zu verwandten APIs finden Sie unter