AlloyDB AI in AlloyDB Omni installieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite erfahren Sie, wie Sie AlloyDB Omni installieren und AlloyDB AI einbinden.

AlloyDB AI ist eine Reihe von Funktionen, die in AlloyDB Omni enthalten sind und mit denen Sie generative KI-Anwendungen für Unternehmen erstellen können. Weitere Informationen zu den KI/ML-Funktionen von AlloyDB finden Sie unter Generative KI-Anwendungen erstellen.

Mit AlloyDB Omni mit AlloyDB AI können Sie Remote-ML-Modelle abfragen, um mit Onlinevorhersagen und Texteinbettungen zu arbeiten, die von ML-Modellen generiert werden. AlloyDB Omni mit AlloyDB AI kann auch Vektoreinbettungen aus anderen Inhalten wie z. B. einem Bild verarbeiten, wenn Sie die google_ml.predict_row-Schnittstelle verwenden und die Übersetzung selbst in der Anfrage vornehmen.

AlloyDB Omni-Instanz für das Abfragen von Remote-Modellen konfigurieren

Mit der google_ml_integration-Erweiterung können in AlloyDB Omni Remote-ML-Modelle abgefragt werden.

Wenn Sie optional Vertex AI-Modelle abfragen möchten, müssen Sie das AlloyDB Omni-Dienstkonto mit Vertex AI konfigurieren, bevor Sie AlloyDB Omni installieren.

So konfigurieren Sie AlloyDB Omni für das Abfragen von Remote-Modellen:

  1. Erstellen Sie ein Dienstkonto mitGoogle Cloud.

  2. Erstellen Sie einen Dienstkontoschlüssel im JSON-Format und laden Sie ihn herunter. Notieren Sie sich den Dienstkontoschlüssel, da Sie ihn später in diesem Verfahren benötigen.

  3. Kopieren Sie den von Ihnen erstellten Dienstkontoschlüssel nach KEY_PATH. Der Schlüsselpfad sollte ein Pfad auf Ihrem Host sein, auf den der Nutzer, der Ihren AlloyDB Omni-Container ausführt, zugreifen kann und der ihm gehört.

  4. Aktivieren Sie die Vertex AI API in Ihrem Google Cloud -Projekt.

    gcloud services enable aiplatform.googleapis.com
    
  5. Fügen Sie dem entsprechenden Projekt und Dienstkonto Vertex AI-IAM-Berechtigungen (Identity and Access Management) hinzu.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_ID" \
        --role="roles/aiplatform.user"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID Ihres Google Cloud Projekts.

    • SERVICE_ACCOUNT_ID: ID des Dienstkontos, das Sie in Schritt 1 erstellt haben. Dazu gehört auch das vollständige Suffix @PROJECT_ID.iam.gserviceaccount.com. Beispiel: my-service@my-project.iam.gserviceaccount.com.

AlloyDB AI für AlloyDB Omni konfigurieren

Führen Sie die folgenden Schritte als Root-Nutzer aus, um AlloyDB Omni zu installieren und AlloyDB AI zu integrieren:

  1. Führen Sie alle Schritte aus, die unter AlloyDB Omni für das Abfragen cloudbasierter Modelle konfigurieren aufgeführt sind.

  2. Wenn ein vorhandener Container mit demselben Namen vorhanden ist, stoppen und entfernen Sie ihn.

    Docker

    docker stop CONTAINER_NAME
    docker rm CONTAINER_NAME

    Docker

    docker stop CONTAINER_NAME
    docker rm CONTAINER_NAME

    Podman

    podman stop CONTAINER_NAME
    podman rm CONTAINER_NAME

    Podman

    podman stop CONTAINER_NAME
    podman rm CONTAINER_NAME

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.
  3. Starten Sie einen neuen AlloyDB Omni-Container und stellen Sie den Schlüssel im Container bereit.

    Docker

    docker run -d --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    -v DATA_DIR:/var/lib/postgresql/data \
    -v "KEY_PATH":/etc/postgresql/private-key.json \
    -p HOST_PORT:5432 \
    --restart=always \
    google/alloydbomni:latest
    

    Docker

    docker run -d --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    -v DATA_DIR:/var/lib/postgresql/data \
    -v "KEY_PATH":/etc/postgresql/private-key.json \
    -p HOST_PORT:5432 \
    --restart=always \
    google/alloydbomni:latest
    

    Podman

    podman run -d --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    -v DATA_DIR:/var/lib/postgresql/data \
    -v "KEY_PATH":/etc/postgresql/private-key.json \
    -p HOST_PORT:5432 \
    --restart=always \
    docker.io/google/alloydbomni:latest
    

    Podman

    podman run -d --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    -v DATA_DIR:/var/lib/postgresql/data \
    -v "KEY_PATH":/etc/postgresql/private-key.json \
    -p HOST_PORT:5432 \
    --restart=always \
    docker.io/google/alloydbomni:latest
    

    Ersetzen Sie die folgenden Variablen:

    • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.
    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde. Mit NEW_PASSWORD wird nur dann ein neues Passwort festgelegt, wenn DATA_DIR ein neuer Standort ist.
    • DATA_DIR: Der Pfad des Hostverzeichnisses, in dem Ihre Daten gespeichert sind.
    • KEY_PATH: Pfad zu Ihrer Dienstkonto-Schlüsseldatei.
    • HOST_PORT: Der TCP-Port auf dem Hostcomputer, auf dem der Container seinen eigenen Port 5432 veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie 5432 an.
  4. Machen Sie die Schlüsseldatei für den Nutzer postgres im AlloyDB Omni-Container lesbar.

    Docker

    docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json
    docker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json

    Docker

    docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json
    docker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json

    Podman

    podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json
    podman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json

    Podman

    podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json
    podman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json

    Ersetzen Sie die folgenden Variablen:

    • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.
    • KEY_PATH: Hostpfad für die Schlüsseldatei Ihres Dienstkontos.
  5. Aktualisieren Sie AlloyDB Omni, indem Sie die folgenden Konfigurationsoptionen hinzufügen.

    Docker

    docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'
    EOF"
    

    Docker

    docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'
    EOF"
    

    Podman

    podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'
    EOF"
    

    Podman

    podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'
    EOF"
    

    Ersetzen Sie die folgenden Variablen:

    • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.
  6. Starten Sie den AlloyDB Omni-Container neu.

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Ersetzen Sie die folgende Variable:

    • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.

Verbindung über den containerisierten psql herstellen

Führen Sie den folgenden Befehl aus, um über die eigene containerisierte Kopie von psql eine Verbindung zum AlloyDB Omni-Datenbankserver herzustellen:

Docker

docker exec -it CONTAINER_NAME psql -U postgres

Docker

docker exec -it CONTAINER_NAME psql -U postgres

Podman

podman exec -it CONTAINER_NAME psql -U postgres

Podman

podman exec -it CONTAINER_NAME psql -U postgres

Ersetzen Sie die folgende Variable:

  • CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zuweisen möchten. Beispiel: my-omni-1.

AlloyDB Omni mit AlloyDB AI-Installation überprüfen

Geben Sie Folgendes ein, um zu prüfen, ob die Installation erfolgreich war und die Modellvorhersage verwendet wird:

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

Die Ausgabe sieht dann ungefähr so aus:

array_dims
------------
[1:768]
(1 row) 

In der vorherigen Abfrage wird mit dem embedding()-Aufruf eine Einbettung für den Eingabetext AlloyDB AI generiert. array_dims gibt die Dimensionen des Arrays zurück, das von embedding() zurückgegeben wird. Da das text-embedding-005-Modell eine Ausgabe mit 768 Dimensionen zurückgibt, ist die Ausgabe [768].

Nächste Schritte