Auf dieser Seite erfahren Sie, wie Sie AlloyDB Omni installieren und AlloyDB AI darin 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 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
Sie können Remote-Modelle mithilfe der Modellendpunktverwaltung abfragen, indem Sie googleMLExtension
in Ihrem Datenbankclustermanifest aktivieren.
Wenn Sie Vertex AI-Modelle abfragen möchten, müssen Sie das AlloyDB-Dienstkonto mit Vertex AI konfigurieren, ein Kubernetes-Secret mit dem Schlüssel erstellen und das Kubernetes-Secret im Datenbankclustermanifest festlegen.
Vertex AI-Berechtigungen dem AlloyDB-Dienstkonto hinzufügen
So konfigurieren Sie AlloyDB Omni für Abfragen an Remote-Vertex AI-Modelle:
Erstellen Sie ein Dienstkonto mit Google Cloud.
Erstellen Sie einen Dienstkontoschlüssel, speichern Sie ihn im JSON-Format in der Datei
private-key.json
und laden Sie ihn herunter.Speichern Sie den Schlüssel an einem dauerhaften Speicherort in Ihrem Dateisystem. Sie befindet sich dort während der gesamten Lebensdauer Ihres AlloyDB Omni-Servers.
Notieren Sie sich den Speicherort im Dateisystem, da Sie ihn für die nachfolgenden Schritte benötigen.
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
: die ID Ihres Google Cloud Projekts.SERVICE_ACCOUNT_ID
: Die ID des Dienstkontos, das Sie im vorherigen Schritt erstellt haben. Dazu gehört das vollständige@PROJECT_ID.iam.gserviceaccount.com
-Suffix, z. B.my-service@my-project.iam.gserviceaccount.com
.
Kubernetes-Secret mit dem Dienstkontoschlüssel erstellen
Führen Sie den folgenden Befehl aus, um ein Kubernetes-Secret auf Grundlage des in den vorherigen Schritten heruntergeladenen Dienstkontoschlüssels zu erstellen:
kubectl create secret generic SECRET_NAME \
--from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \
-n NAMESPACE
Ersetzen Sie Folgendes:
SECRET_NAME
: Der Name des Secrets, das beim Erstellen einesDBCluster
-Manifests verwendet wird, um AlloyDB Omni Zugriff auf AlloyDB AI-Funktionen zu gewähren. Beispiel:vertex-ai-key-alloydb
PATH_TO_SERVICE_ACCOUNT_KEY
: Der Pfad zum Speicherort, an dem Sie den Dienstkontoschlüssel fürprivate-key.json
heruntergeladen haben.NAMESPACE
: den Namespace des Datenbankclusters.
AlloyDB Omni-Operator installieren
Installieren Sie den AlloyDB Omni-Operator mithilfe der Schritte unter AlloyDB Omni-Operator installieren.
Datenbankcluster mit AlloyDB AI erstellen
Datenbankcluster mit AlloyDB AI erstellen
Wenn Sie unter dem Feld
googleMLExtension
die Optionenabled
auftrue
festlegen, können Sie Remote-Modelle abfragen. Legen SievertexAIKeyRef
auf das Kubernetes-Secret fest, wenn Sie Vertex AI-Modelle abfragen möchten.apiVersion: v1 kind: Secret metadata: name: db-pw-DB_CLUSTER_NAME type: Opaque data: DB_CLUSTER_NAME: "ENCODED_PASSWORD" --- apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.0" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME features: googleMLExtension: enabled: true config: vertexAIKeyRef: VERTEX_AI_SECRET_NAME vertexAIRegion: VERTEX_AI_REGION resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZE storageClass: standard
Ersetzen Sie Folgendes:
DB_CLUSTER_NAME
: Der Name dieses Datenbankclusters, z. B.my-db-cluster
.VERTEX_AI_SECRET_NAME
(optional): das Vertex AI-Secret, das Sie in den vorherigen Schritten erstellt haben. Sie müssen diese Option festlegen, wenn Sie Vertex AI-Modelle aufrufen möchten.VERTEX_AI_REGION
(optional): der regionale Vertex AI-Endpunkt, an den Sie Ihre Anfrage senden möchten, z. B.us-west4
. Der Standardwert istus-central1
.ENCODED_PASSWORD
: Das Datenbank-Anmeldepasswort für die Standardnutzerrollepostgres
, codiert als Base64-String, z. B.Q2hhbmdlTWUxMjM=
fürChangeMe123
.CPU_COUNT
: die Anzahl der CPUs, die für jede Datenbankinstanz in diesem Datenbankcluster verfügbar sind.MEMORY_SIZE
: die Größe des Arbeitsspeichers pro Datenbankinstanz dieses Datenbankclusters. Wir empfehlen, diesen Wert auf 8 Gigabyte pro CPU festzulegen. Wenn Sie beispielsweisecpu
in diesem Manifest zuvor auf2
gesetzt haben, empfehlen wir,memory
auf16Gi
festzulegen.DISK_SIZE
: die Laufwerksgröße pro Datenbankinstanz, z. B.10Gi
.
Wenden Sie das Manifest an.
kubectl apply -f DB_CLUSTER_YAML
Ersetzen Sie Folgendes:
DB_CLUSTER_YAML
: der Name dieser Manifestdatei für den Datenbankcluster, z. B.alloydb-omni-db-cluster.yaml
.
Verbindung über das vorinstallierte psql herstellen
Sie können eine Testverbindung mit einem psql
-Client herstellen, der bereits auf dem Pod installiert ist, auf dem die Datenbank ausgeführt wird.
Führen Sie dazu die folgenden Befehle aus:
export DBPOD=`kubectl get pod --selector=alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -o jsonpath='{.items[0].metadata.name}'`
kubectl exec -ti $DBPOD -c database -- psql -h localhost -U postgres
Ersetzen Sie DB_CLUSTER_NAME
durch den Namen Ihres Datenbankclusters. Das ist der Name des Datenbankclusters, den Sie beim Erstellen angegeben haben.
Nachdem Sie den Befehl eingegeben haben, werden Sie vom Datenbankserver aufgefordert, ein Passwort einzugeben.
Geben Sie das Passwort ein, dessen base64-codierte Version Sie beim Erstellen des Datenbankclusters als Kubernetes-Secret angegeben haben. Wenn Sie den Datenbankcluster beispielsweise mit dem Secret Q2hhbmdlTWUxMjM=
erstellt haben, lautet das Anmeldepasswort hier ChangeMe123
.
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 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 herstellen
- AlloyDB Omni verwalten
- Generative KI-Anwendungen mit AlloyDB AI erstellen
- Remote-KI-Modelle registrieren und aufrufen