Gere incorporações multimodais

Esta página descreve como gerar incorporações multimodais através do modelo multimodal da Vertex AI suportado, o multimodalembedding@001.

Pode usar os modelos de incorporação multimodal do Vertex AI referidos em Modelos suportados.

Esta página pressupõe que conhece o AlloyDB for PostgreSQL e os conceitos de IA generativa. Para mais informações sobre incorporações, consulte o artigo O que são incorporações.

Antes de começar

Antes de usar as incorporações multimodais, faça o seguinte:

Faça a integração com o Vertex AI e instale a extensão

  1. Integre com o Vertex AI.
  2. Certifique-se de que tem instalada a versão mais recente do google_ml_integration.
    1. Para verificar a versão instalada, execute o seguinte comando:

              SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
              extversion
              ------------
              1.4.3
              (1 row)
            
    2. Se a extensão não estiver instalada ou se a versão instalada for anterior à 1.4.3, atualize a extensão executando os seguintes comandos:

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

      Se tiver problemas quando executar os comandos anteriores ou se a extensão não for atualizada para a versão 1.4.3 depois de executar os comandos anteriores, contacte o apoio técnico do AlloyDB.

    3. Depois de se certificar de que a versão está atualizada, instale a funcionalidade de pré-visualização executando o procedimento 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)
            

Aceda aos dados no Cloud Storage para gerar incorporações multimodais

  • Para gerar incorporações multimodais, consulte o conteúdo no Cloud Storage através de um URI gs://.
  • Aceder ao conteúdo do Cloud Storage através do agente do serviço Vertex AI do projeto atual. Por predefinição, o agente de serviço do Vertex AI já tem autorização para aceder ao contentor no mesmo projeto. Para mais informações, consulte o índice de funções e autorizações do IAM.
  • Para aceder aos dados num contentor do Cloud Storage noutro Google Cloud projeto, execute o seguinte comando da CLI gcloud para conceder a função de visualizador de objetos de armazenamento (roles/storage.objectViewer) ao agente de serviço do Vertex AI do seu projeto do 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 mais informações, consulte o artigo Defina e faça a gestão de políticas de IAM em contentores.

Para gerar incorporações multimodais, selecione um dos seguintes esquemas.

Gere incorporações multimodais

Para gerar incorporações de texto para um ponto final do modelo multimodalembedding@001, execute a seguinte declaração:

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

Substitua TEXT pelo texto para o qual quer gerar a incorporação.

Para gerar incorporações de imagens para um ponto final do modelo multimodalembedding@001 registado em que o tipo MIME da imagem é o predefinido image/jpeg, execute a seguinte declaração:

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

Substitua o seguinte:

  • IMAGE_PATH_OR_TEXT com o URI do Cloud Storage da imagem, por exemplo, gs://my-bucket/embeddings/flowers.jpeg, ou a string base64 da imagem.
  • MIMETYPE com o tipo MIME da imagem, por exemplo, image/jpeg. Para ver a lista completa de tipos MIME suportados, consulte a API Multimodal Embeddings.

Para gerar incorporações de vídeo para um ponto final do modelo multimodalembedding@001 registado, execute a seguinte declaração:

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

Substitua VIDEO_URI pelo URI do Cloud Storage do vídeo de destino, por exemplo, gs://my-bucket/embeddings/supermarket-video.mp4, ou a string base64 do vídeo.

O que se segue?