Sie können multimodale Einbettungen in AlloyDB for PostgreSQL mit dem unterstützten multimodalen Modell der Gemini Enterprise Agent Platform, multimodalembedding@001, generieren.
Sie können die multimodalen Einbettungsmodelle der Agent Platform verwenden, auf die in Unterstützte Modelle verwiesen wird.
Auf dieser Seite wird davon ausgegangen, dass Sie mit AlloyDB for PostgreSQL und Konzepten der generativen KI vertraut sind. Weitere Informationen finden Sie unter Was sind Einbettungen?.
Hinweis
Bevor Sie multimodale Einbettungen verwenden, müssen Sie Folgendes tun:
- Prüfen Sie, ob die Erweiterung
google_ml_integrationinstalliert ist. - Prüfen Sie, ob das Flag
google_ml_integration.enable_model_supportaufongesetzt ist. - Einbindung in die Agent Platform
- Auf Daten in Cloud Storage zugreifen, um multimodale Einbettungen zu generieren
In die Agent Platform einbinden und die Erweiterung installieren
- Nutzerzugriff auf Agent Platform-Modelle konfigurieren
- Prüfen Sie, ob die aktuelle Version von
google_ml_integrationinstalliert ist.Führen Sie den folgenden Befehl aus, um die installierte Version zu prüfen:
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration'; extversion ------------ 1.5.2 (1 row)
Wenn die Erweiterung nicht installiert ist oder die installierte Version älter als 1.5.2 ist, aktualisieren Sie die Erweiterung.
CREATE EXTENSION IF NOT EXISTS google_ml_integration; ALTER EXTENSION google_ml_integration UPDATE;
Wenn beim Ausführen der vorherigen Befehle Probleme auftreten oder die Erweiterung nach dem Ausführen der vorherigen Befehle nicht auf Version 1.5.2 aktualisiert wird, wenden Sie sich an den Google Cloud -Support.
Wenn Sie die Funktionen der AlloyDB AI-Abfrage-Engine verwenden möchten, setzen Sie das Flag
google_ml_integration.enable_ai_query_engineaufon.SQL
- Aktivieren Sie die KI-Abfrage-Engine für die aktuelle Sitzung.
SET google_ml_integration.enable_ai_query_engine = on;
- Funktionen für eine bestimmte Datenbank sitzungsübergreifend aktivieren
ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_ai_query_engine = 'on';
- Aktivieren Sie die KI-Abfrage-Engine für einen bestimmten Nutzer über Sitzungen und Datenbanken hinweg.
ALTER ROLE postgres SET google_ml_integration.enable_ai_query_engine = 'on';
Console
Wenn Sie den Wert des Flags
google_ml_integration.enable_ai_query_engineändern möchten, folgen Sie der Anleitung unter Datenbank-Flags einer Instanz konfigurieren.gcloud
Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Cloud Shell verwenden.
Sie können den Wert des Flags
google_ml_integration.enable_ai_query_engineändern. Weitere Informationen finden Sie unter Datenbank-Flags einer Instanz konfigurieren.gcloud alloydb instances update INSTANCE_ID \ --database-flags google_ml_integration.enable_ai_query_engine=on \ --region=REGION_ID \ --cluster=CLUSTER_ID \ --project=PROJECT_ID
- Aktivieren Sie die KI-Abfrage-Engine für die aktuelle Sitzung.
Auf Daten in Cloud Storage zugreifen, um multimodale Einbettungen zu generieren
- Wenn Sie multimodale Einbettungen generieren möchten, verweisen Sie mit einem
gs://-URI auf Inhalte in Cloud Storage. - Über den Dienst-Agent der Agent Platform Ihres aktuellen Projekts auf Cloud Storage-Inhalte zugreifen. Standardmäßig hat der Dienst-Agent der Agent Platform bereits die Berechtigung, auf den Bucket im selben Projekt zuzugreifen. Weitere Informationen finden Sie im Index für IAM-Rollen und -Berechtigungen.
Wenn Sie auf Daten in einem Cloud Storage-Bucket in einem anderen Google Cloud Projekt zugreifen möchten, führen Sie den folgenden gcloud CLI-Befehl aus, um dem Agent Platform-Dienst-Agent Ihres AlloyDB-Projekts die Rolle „Storage Object Viewer“ (
roles/storage.objectViewer) zuzuweisen.gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \ --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"Weitere Informationen finden Sie unter IAM-Richtlinien für Buckets festlegen und verwalten.
Wählen Sie eines der folgenden Schemas aus, um multimodale Einbettungen zu generieren.
Multimodale Einbettungen generieren
Führen Sie die folgende Anweisung aus, um Texteinbettungen für einen multimodalembedding@001-Modellendpunkt zu generieren:
SELECT
ai.text_embedding(
model_id => 'multimodalembedding@001',
content => 'TEXT');
Ersetzen Sie TEXT durch den Text, für den die Einbettung generiert werden soll.
Führen Sie die folgende Anweisung aus, um Bildeinbettungen für einen registrierten multimodalembedding@001-Modellendpunkt zu generieren, bei dem der Bild-MIME-Typ standardmäßig image/jpeg ist:
SELECT
ai.image_embedding(
model_id => 'multimodalembedding@001',
image => 'IMAGE_PATH_OR_TEXT',
mimetype => MIMETYPE');
Ersetzen Sie Folgendes:
IMAGE_PATH_OR_TEXTdurch den Cloud Storage-URI des Bildes, z. B.gs://my-bucket/embeddings/flowers.jpeg, oder die Base64-Zeichenfolge des Bildes.MIMETYPEdurch den MIME-Typ des Bildes, z. B.image/jpeg. Eine vollständige Liste der unterstützten MIME-Typen finden Sie in der Multimodal Embeddings API.
Führen Sie die folgende Anweisung aus, um Videoeinbettungen für einen registrierten multimodalembedding@001-Modellendpunkt zu generieren:
SELECT
ai.video_embedding(
model_id => 'multimodalembedding@001',
video => 'VIDEO_URI');
Ersetzen Sie VIDEO_URI durch den Cloud Storage-URI des Zielvideos, z. B. gs://my-bucket/embeddings/supermarket-video.mp4, oder den base64-String des Videos.
Das sind zweidimensionale Arrays, auf die wie auf my_array[0][5] zugegriffen werden kann.
Weitere Informationen finden Sie unter Arrays.