Vous pouvez générer des embeddings multimodaux dans AlloyDB Omni à l'aide du modèle multimodal Vertex AI compatible, multimodalembedding@001.
Vous pouvez utiliser les modèles d'embedding multimodal Vertex AI mentionnés dans la section Modèles compatibles.
Cette page suppose que vous connaissez AlloyDB Omni et les concepts d'IA générative. Pour en savoir plus, consultez Que sont les embeddings ?.
Avant de commencer
Avant d'utiliser les embeddings multimodaux, procédez comme suit :
- Configurez l'accès des utilisateurs aux modèles Vertex AI.
- Vérifiez que la dernière version de
google_ml_integrationest installée.Pour vérifier la version installée, exécutez la commande suivante :
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration'; extversion ------------ 1.5.2 (1 row)
Si l'extension n'est pas installée ou si la version installée est antérieure à la version 1.5.2, mettez à jour l'extension.
CREATE EXTENSION IF NOT EXISTS google_ml_integration; ALTER EXTENSION google_ml_integration UPDATE;
Si vous rencontrez des problèmes lors de l'exécution des commandes précédentes ou si l'extension n'est pas mise à jour vers la version 1.5.2 après l'exécution des commandes précédentes, contactez l'assistance Google Cloud.
Pour utiliser la fonctionnalité du moteur de requêtes AlloyDB AI, définissez l'option
google_ml_integration.enable_ai_query_enginesuron.- Utilisez un éditeur de texte pour définir l'option suivante dans le fichier de configuration
postgresql.confde votre installation d'AlloyDB Omni :google_ml_integration.enable_ai_query_engine = on
- Après avoir enregistré le fichier
postgresql.conf, redémarrez le service AlloyDB Omni pour que les modifications prennent effet.docker restart CONTAINER_NAME
- Utilisez un éditeur de texte pour définir l'option suivante dans le fichier de configuration
Accédez aux données dans Cloud Storage pour générer des embeddings multimodaux.
Accéder aux données dans Cloud Storage pour générer des embeddings multimodaux
- Pour générer des embeddings multimodaux, faites référence au contenu dans Cloud Storage à l'aide d'un URI
gs://. - Accédez au contenu Cloud Storage via l'agent de service Vertex AI de votre projet actuel. Par défaut, l'agent de service Vertex AI est déjà autorisé à accéder au bucket dans le même projet. Pour en savoir plus, consultez l'index des rôles et autorisations IAM.
Pour accéder aux données d'un bucket Cloud Storage dans un autre projet Google Cloud , exécutez la commande gcloud CLI suivante pour attribuer le rôle Lecteur des objets Storage (
roles/storage.objectViewer) à l'agent de service Vertex AI de votre projetGoogle Cloud .gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \ --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"Pour en savoir plus, consultez Définir et gérer des stratégies IAM sur des buckets.
Pour générer des embeddings multimodaux, sélectionnez l'un des schémas suivants.
Générer des embeddings multimodaux
Pour générer des embeddings textuels pour un point de terminaison de modèle multimodalembedding@001, exécutez l'instruction suivante :
SELECT
ai.text_embedding(
model_id => 'multimodalembedding@001',
content => 'TEXT');
Remplacez TEXT par le texte pour lequel générer l'embedding.
Pour générer des embeddings d'image pour un point de terminaison de modèle multimodalembedding@001 enregistré où le type MIME de l'image est image/jpeg par défaut, exécutez l'instruction suivante :
SELECT
ai.image_embedding(
model_id => 'multimodalembedding@001',
image => 'IMAGE_PATH_OR_TEXT',
mimetype => 'MIMETYPE');
Remplacez les éléments suivants :
IMAGE_PATH_OR_TEXTpar l'URI Cloud Storage de l'image (par exemple,gs://my-bucket/embeddings/flowers.jpeg) ou la chaîne base64 de l'image.MIMETYPEpar le type MIME de l'image, par exempleimage/jpeg. Pour obtenir la liste complète des types MIME compatibles, consultez l'API Multimodal Embeddings.
Pour générer des embeddings vidéo pour un point de terminaison de modèle multimodalembedding@001 enregistré, exécutez l'instruction suivante :
SELECT
ai.video_embedding(
model_id => 'multimodalembedding@001',
video => 'VIDEO_URI');
Remplacez VIDEO_URI par l'URI Cloud Storage de la vidéo cible (par exemple, gs://my-bucket/embeddings/supermarket-video.mp4) ou par la chaîne base64 de la vidéo.
Il s'agit de tableaux bidimensionnels accessibles via une syntaxe de type my_array[0][5].
Pour en savoir plus, consultez Tableaux.