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 AI-Anwendungen erstellen.
Mit AlloyDB Omni und AlloyDB AI können Sie Remote-ML-Modelle abfragen, um mit Onlinevorhersagen und Text-Embeddings zu arbeiten, die von ML-Modellen generiert wurden. AlloyDB Omni mit AlloyDB AI kann auch Vektoreinbettungen aus anderen Inhalten wie einem Bild verarbeiten, z. B. wenn Sie die google_ml.predict_row
-Benutzeroberfläche verwenden und die Übersetzung selbst in der Abfrage vornehmen.
Wählen Sie je nachdem, wo Sie AlloyDB Omni mit AlloyDB AI installieren möchten, eine der folgenden Optionen aus:
AlloyDB Omni-Instanz für Abfragen von Remote-Modellen konfigurieren
In AlloyDB Omni können Remote-ML-Modelle mit der Erweiterung google_ml_integration
abgefragt werden.
Wenn Sie Vertex AI-Modelle abfragen möchten, müssen Sie das AlloyDB Omni-Dienstkonto vor der Installation von AlloyDB Omni mit Vertex AI konfigurieren.
So konfigurieren Sie AlloyDB Omni für Abfragen an Remote-Modelle:
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 verwenden.
Kopieren Sie den von Ihnen erstellten Dienstkontoschlüssel in
KEY_PATH
. Der Schlüsselpfad sollte ein Pfad auf Ihrem Host sein, auf den der Nutzer, der Ihren AlloyDB Omni-Container ausführt, zugreifen und dessen Eigentümer er ist.Aktivieren Sie die Vertex AI API in Ihrem Projekt. Google Cloud
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@PROJECT_ID.iam.gserviceaccount.com
-Suffix. 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:
Führen Sie alle Schritte aus, die unter AlloyDB Omni für Abfragen cloudbasierter Modelle konfigurieren aufgeführt sind.
Wenn ein Container mit demselben Namen vorhanden ist, beenden 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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. Beispiel:my-omni-1
.
Starten Sie einen neuen AlloyDB Omni-Container und stellen Sie den Schlüssel in den 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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. Beispiel:my-omni-1
.NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde. Beachten Sie, dassNEW_PASSWORD
nur dann ein neues Passwort festlegt, wennDATA_DIR
ein neuer Standort ist.DATA_DIR
: Pfad zum Hostverzeichnis, in dem Ihre Daten gespeichert sind.KEY_PATH
: Pfad zur Schlüsseldatei des Dienstkontos.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. Beispiel:my-omni-1
.KEY_PATH
: Hostpfad zur Schlüsseldatei Ihres Dienstkontos.
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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. 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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. Beispiel:my-omni-1
.
Über den containerisierten psql
verbinden
Wenn Sie eine Verbindung zum AlloyDB Omni-Datenbankserver über eine eigene containerisierte Kopie von psql
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
: Name, der Ihrem AlloyDB Omni-Container in der Containerregistrierung Ihres Hostcomputers zugewiesen wird. 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 durch den embedding()
-Aufruf Einbettungen für den Eingabetext AlloyDB AI
generiert.
array_dims
gibt die Dimensionen des von embedding()
zurückgegebenen Arrays zurück.
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 herstellen
- AlloyDB Omni verwalten
- Generative KI-Anwendungen mit AlloyDB AI erstellen
- Remote-KI-Modelle registrieren und aufrufen