Generar incrustaciones multimodales

En esta página se describe cómo generar embeddings multimodales con el modelo multimodal de Vertex AI multimodalembedding@001.

Puedes usar los modelos de inserciones multimodales de Vertex AI que se mencionan en Modelos admitidos.

En esta página se presupone que conoces AlloyDB para PostgreSQL y los conceptos de IA generativa. Para obtener más información sobre las inserciones, consulta ¿Qué son las inserciones?

Antes de empezar

Antes de usar las inserciones multimodales, haz lo siguiente:

Integrar con Vertex AI e instalar la extensión

  1. Integración con Vertex AI.
  2. Asegúrate de que esté instalada la versión más reciente de google_ml_integration.
    1. Para comprobar la versión instalada, ejecuta el siguiente comando:

              SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
              extversion
              ------------
              1.4.3
              (1 row)
            
    2. Si la extensión no está instalada o la versión instalada es anterior a la 1.4.3, actualízala ejecutando los siguientes comandos:

              CREATE EXTENSION IF NOT EXISTS google_ml_integration;
              ALTER EXTENSION google_ml_integration UPDATE;
            

      Si tienes problemas al ejecutar los comandos anteriores o si la extensión no se actualiza a la versión 1.4.3 después de ejecutar los comandos anteriores, ponte en contacto con el equipo de Asistencia de AlloyDB.

    3. Una vez que te hayas asegurado de que la versión está actualizada, instala la función de vista previa ejecutando el procedimiento upgrade_to_preview_version:

              CALL google_ml.upgrade_to_preview_version();
              SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
              extversion
              ------------
              1.4.4
              (1 row)
            

Acceder a datos de Cloud Storage para generar inserciones multimodales

  • Para generar incrustaciones multimodales, haz referencia al contenido de Cloud Storage mediante un URI gs://.
  • Acceda al contenido de Cloud Storage a través del agente de servicio de Vertex AI de su proyecto actual. De forma predeterminada, el agente de servicio de Vertex AI ya tiene permiso para acceder al segmento del mismo proyecto. Para obtener más información, consulta el índice de roles y permisos de gestión de identidades y accesos.
  • Para acceder a los datos de un segmento de Cloud Storage de otro Google Cloud proyecto, ejecuta el siguiente comando de la CLI de gcloud para asignar el rol Lector de objetos de Storage (roles/storage.objectViewer) al agente de servicio de Vertex AI de tu proyecto de AlloyDB.

    gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \
    --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \
    --role="roles/storage.objectViewer"

    Para obtener más información, consulta Definir y gestionar políticas de IAM en segmentos.

Para generar inserciones multimodales, selecciona uno de los siguientes esquemas.

Generar incrustaciones multimodales

Para generar inserciones de texto para un endpoint de modelo multimodalembedding@001, ejecuta la siguiente instrucción:

SELECT
  ai.text_embedding(
    model_id => 'multimodalembedding@001',
    content => 'TEXT');

Sustituye TEXT por el texto para el que quieras generar la inserción.

Para generar inserciones de imágenes de un endpoint de modelo multimodalembedding@001 registrado en el que el tipo MIME de la imagen sea el predeterminado image/jpeg, ejecuta la siguiente instrucción:

SELECT
  ai.image_embedding(
    model_id => 'multimodalembedding@001',
    image => 'IMAGE_PATH_OR_TEXT',
    mimetype => MIMETYPE');

Haz los cambios siguientes:

  • IMAGE_PATH_OR_TEXT con el URI de Cloud Storage de la imagen, por ejemplo, gs://my-bucket/embeddings/flowers.jpeg, o la cadena base64 de la imagen.
  • MIMETYPE con el tipo MIME de la imagen (por ejemplo, image/jpeg). Para ver la lista completa de los tipos MIME admitidos, consulta la API de inserciones multimodales.

Para generar inserciones de vídeo de un endpoint de modelo multimodalembedding@001 registrado, ejecuta la siguiente instrucción:

SELECT
  ai.video_embedding(
    model_id => 'multimodalembedding@001',
    video => 'VIDEO_URI');

Sustituye VIDEO_URI por el URI de Cloud Storage del vídeo de destino (por ejemplo, gs://my-bucket/embeddings/supermarket-video.mp4) o por la cadena base64 del vídeo.

Siguientes pasos