Générer des embeddings multimodaux

Sélectionnez une version de la documentation :

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 multimodaux Vertex AI mentionnés dans Modèles compatibles.

Sur cette page, nous partons du principe 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 :

  1. Configurer l'accès des utilisateurs aux modèles Vertex AI
  2. Vérifiez que la dernière version de google_ml_integration est installée.
    1. 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)
    2. Si l'extension n'est pas installée ou si la version installée est antérieure à la version 1.5.2, mettez-la à jour.

      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.

  3. Pour utiliser la fonctionnalité du moteur de requêtes AlloyDB/AI, définissez l'indicateur google_ml_integration.enable_ai_query_engine sur on.

    1. Utilisez un éditeur de texte pour définir le flag suivant dans le fichier de configuration postgresql.conf pour votre installation d'AlloyDB Omni :
      google_ml_integration.enable_ai_query_engine = on
    2. Après avoir enregistré le fichier postgresql.conf, redémarrez le service AlloyDB Omni pour que les modifications prennent effet.
      sudo systemctl restart alloydbomni18
  4. 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, référencez le 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 du 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 de l'espace de stockage (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_TEXT avec l'URI Cloud Storage de l'image, par exemple gs://my-bucket/embeddings/flowers.jpeg, ou la chaîne base64 de l'image.
  • MIMETYPE par le type MIME de l'image, par exemple image/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 auxquels vous pouvez accéder en utilisant une syntaxe de type my_array[0][5]. Pour en savoir plus, consultez Tableaux.

Étapes suivantes