Als DevOps-Ingenieur können Sie in einem TKG-Cluster in einem Supervisor eine RAG-Arbeitslast auf Basis der RAG-Multiturn-Beispielanwendung von NVIDIA bereitstellen, die eine von VMware Data Services Manager verwaltete PostgreSQL-Datenbank vom Typ „pgvector“ verwendet.

Voraussetzungen

Prozedur

  1. Stellen Sie einen GPU-beschleunigten TKG-Cluster bereit.
    Sie können Sie einen der folgenden Workflows verwenden.
    Bereitstellungsworkflow Schritte
    Mithilfe eines Katalogelements in VMware Aria Automation Bereitstellen eines RAG-Clusters mit einer Vektordatenbank mithilfe eines Self-Service-Katalogelements in VMware Aria Automation.
    Mithilfe des Befehls kubectl
    1. Stellen Sie einen GPU-beschleunigten TKG-Cluster mithilfe des Befehls kubectl bereit.
  2. Stellen Sie bei Verwendung des Befehls kubectl die NVIDIA NIMs bereit.
    1. Rufen Sie die Helm-Diagramme mit den NVIDIA NIMs ab.
      Weitere Informationen finden Sie unter Multiturn-RAG.
    2. Stellen Sie NVIDIA NIM LLM, NVIDIA NeMo Retriever Embedding und NVIDIA NeMo Retriever Ranking Microservice bereit.
      Weitere Informationen finden Sie unter Multiturn-RAG.
  3. Rufen Sie das Helm-Diagramm für den Multiturn-Beispiel-Chatbot ab.
    helm fetch https://helm.ngc.nvidia.com/nvidia/aiworkflows/charts/rag-app-multiturn-chatbot-24.08.tgz --username='$oauthtoken' --password=<YOUR API KEY>
    
  4. Erstellen Sie eine YAML-Datei mit benutzerdefinierten Werten, um den Chatbot mit der PostgreSQL-Datenbank vom Typ „pgvector“ zu konfigurieren.
    Bereiten Sie für eine pgvector-Datenbank mit einer Verbindungszeichenfolge postgres://pgvector_db_admin:encoded_pgvector_db_admin_password@pgvector_db_ip_address:5432/pgvector_db_name die folgende Datei vom Typ app_values.yaml vor.

    Um eine externe IP-Adresse für die Beispiel-Chat-Anwendung anzugeben, legen Sie in der YAML-Datei frontend.service.type auf loadBalancer fest.

    query:
      env:
        APP_VECTORSTORE_URL: "pgvector_db_ip_address:5432"
        APP_VECTORSTORE_NAME: "pgvector"
        POSTGRES_PASSWORD: "encoded_pgvector_db_admin_password"
        POSTGRES_USER: "pgvector_db_admin"
        POSTGRES_DB: "pgvector_db_name"
        APP_EMBEDDINGS_MODELNAME: "nvidia/nv-embedqa-e5-v5"
    frontend:
      service:
        type: LoadBalancer
  5. Stellen Sie den Multiturn-Chatbot unter Verwendung der Datei mit benutzerdefinierten Werten in einem Namespace bereit.
    kubectl create namespace multiturn-rag
    kubectl label --overwrite ns multiturn-rag pod-security.kubernetes.io/enforce=privileged
     
    export NGC_CLI_API_KEY="<NGC-API-key>"
     
    helm install multiturn-rag rag-app-multiturn-chatbot-24.08.tgz -n multiturn-rag --set imagePullSecret.password=$NGC_CLI_API_KEY -f ./app_values.yaml
  6. Für den Zugriff auf die Chatbot-Anwendung führen Sie den folgenden Befehl aus, um die externe IP-Adresse der Anwendung abzurufen.
    kubectl -n multiturn-rag get service
  7. Öffnen Sie in einem Webbrowser die Beispiel-Chat-Anwendung unter http://application_external_ip:3001/converse.