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 aus 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 Abfrage vornehmen.
AlloyDB Omni-Instanz für das Abfragen von Remote-Modellen konfigurieren
Mit der Erweiterung google_ml_integration können in AlloyDB Omni Remote-ML-Modelle abgefragt werden.
Wenn Sie Vertex AI-Modelle abfragen möchten, müssen Sie das AlloyDB Omni-Dienstkonto optional vor der Installation von AlloyDB Omni mit Vertex AI konfigurieren.
So konfigurieren Sie AlloyDB Omni für das Abfragen von Remote-Modellen:
Erstellen Sie ein Dienstkonto mitGoogle Cloud.
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.
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.Aktivieren Sie die Vertex AI API in Ihrem Google Cloud -Projekt.
gcloud services enable aiplatform.googleapis.com
Fügen Sie dem entsprechenden Projekt und Dienstkonto IAM-Berechtigungen (Identity and Access Management) für Vertex AI 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 das vollständige Suffix@PROJECT_ID.iam.gserviceaccount.com. Beispiel:my-service@my-project.iam.gserviceaccount.com.
AlloyDB AI für AlloyDB Omni konfigurieren
So installieren Sie AlloyDB Omni und binden AlloyDB AI ein:
Führen Sie alle Schritte aus, die unter AlloyDB Omni für das Abfragen cloudbasierter Modelle konfigurieren aufgeführt sind.
Wenn ein vorhandener Container mit demselben Namen vorhanden ist, stoppen und entfernen Sie ihn.
Docker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAMEDocker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAMEPodman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAMEPodman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAMEErsetzen Sie Folgendes:
CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.
Starten Sie einen neuen AlloyDB Omni-Container und binden Sie den Schlüssel in den Container ein.
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 Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.NEW_PASSWORD: Das Passwort, das dempostgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde. Beachten Sie, dass mitNEW_PASSWORDnur dann ein neues Passwort festgelegt wird, wennDATA_DIRein 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 Port5432veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432an.
Machen Sie die Schlüsseldatei für den Nutzer
postgresim AlloyDB Omni-Container lesbar.Docker
docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsondocker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonDocker
docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsondocker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonPodman
podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsonpodman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonPodman
podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsonpodman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonErsetzen Sie die folgenden Variablen:
CONTAINER_NAME: Der Name, den Sie Ihrem AlloyDB Omni-Container in der Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.KEY_PATH: Hostpfad für Ihre Dienstkonto-Schlüsseldatei.
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 Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.
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 Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.
Verbindung über den containerisierten psql herstellen
Wenn Sie über die eigene containerisierte Kopie von psql eine Verbindung zum AlloyDB Omni-Datenbankserver herstellen möchten, führen Sie den folgenden Befehl aus:
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 Container Registry Ihres Hostcomputers zuweisen möchten. Beispiel:my-omni-1.
AlloyDB Omni mit AlloyDB AI-Installation prü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 werden mit dem embedding()-Aufruf Einbettungen 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
- AlloyDB Omni ausführen und eine Verbindung dazu herstellen
- AlloyDB Omni verwalten
- Generative KI-Anwendungen mit AlloyDB AI erstellen
- Remote-KI-Modelle registrieren und aufrufen