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:
- 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 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:
- 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_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.
 
- 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_PASSWORDwird nur dann ein neues Passwort festgelegt, wenn- DATA_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 Port- 5432veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie- 5432an.
 
- 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.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.
 
- 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.
 
- 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
- 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