Generare embedding multimodali

Seleziona una versione della documentazione:

Puoi generare embedding multimodali in AlloyDB Omni utilizzando il modello multimodale Vertex AI supportato, multimodalembedding@001.

Puoi utilizzare i modelli di embedding multimodale di Vertex AI indicati in Modelli supportati.

Questa pagina presuppone che tu abbia familiarità con AlloyDB Omni e con i concetti di AI generativa. Per saperne di più, consulta Che cosa sono gli embedding.

Prima di iniziare

Prima di utilizzare gli embedding multimodali, completa i seguenti passaggi:

  1. Configura l'accesso degli utenti ai modelli di Vertex AI.
  2. Verifica che sia installata l'ultima versione di google_ml_integration.
    1. Per controllare la versione installata, esegui questo comando:

      SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
      extversion
      ------------
      1.5.2
      (1 row)
    2. Se l'estensione non è installata o se la versione installata è precedente alla 1.5.2, aggiorna l'estensione.

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

      Se riscontri problemi durante l'esecuzione dei comandi precedenti o se l'estensione non viene aggiornata alla versione 1.5.2 dopo l'esecuzione dei comandi precedenti, contatta l'assistenza Google Cloud.

  3. Per utilizzare la funzionalità del motore di query AlloyDB AI, imposta il flag google_ml_integration.enable_ai_query_engine su on.

    1. Utilizza un editor di testo per impostare il seguente flag nel file di configurazione postgresql.conf per l'installazione di AlloyDB Omni:
      google_ml_integration.enable_ai_query_engine = on
    2. Dopo aver salvato il file postgresql.conf, riavvia il servizio AlloyDB Omni per applicare le modifiche.
      docker restart CONTAINER_NAME
  4. Accedi ai dati in Cloud Storage per generare embedding multimodali.

Accedi ai dati in Cloud Storage per generare embedding multimodali

  • Per generare embedding multimodali, fai riferimento ai contenuti in Cloud Storage utilizzando un URI gs://.
  • Accedi ai contenuti di Cloud Storage tramite il service agent Vertex AI del progetto attuale. Per impostazione predefinita, il service agent Vertex AI dispone già dell'autorizzazione per accedere al bucket nello stesso progetto. Per saperne di più, consulta l'indice di ruoli e autorizzazioni IAM.
  • Per accedere ai dati in un bucket Cloud Storage in un altro progetto Google Cloud , esegui questo comando gcloud CLI per concedere il ruolo Storage Object Viewer (roles/storage.objectViewer) all'agente di servizio Vertex AI del tuo progettoGoogle 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"

    Per saperne di più, consulta Imposta e gestisci le policy IAM sui bucket.

Per generare embedding multimodali, seleziona uno dei seguenti schemi.

Genera embedding multimodali

Per generare text embedding per un endpoint del modello multimodalembedding@001, esegui la seguente istruzione:

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

Sostituisci TEXT con il testo per cui generare l'embedding.

Per generare embedding di immagini per un endpoint del modello multimodalembedding@001 registrato in cui il tipo MIME dell'immagine è il valore predefinito image/jpeg, esegui la seguente istruzione:

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

Sostituisci quanto segue:

  • IMAGE_PATH_OR_TEXT con l'URI Cloud Storage dell'immagine, ad esempio gs://my-bucket/embeddings/flowers.jpeg, o la stringa base64 dell'immagine.

  • MIMETYPE con il tipo MIME dell'immagine, ad esempio image/jpeg. Per l'elenco completo dei tipi MIME supportati, consulta l'API Multimodal Embeddings.

Per generare embedding video per un endpoint del modello multimodalembedding@001 registrato, esegui la seguente istruzione:

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

Sostituisci VIDEO_URI con l'URI Cloud Storage del video di destinazione, ad esempio gs://my-bucket/embeddings/supermarket-video.mp4, o con la stringa base64 del video. Si tratta di array bidimensionali a cui è possibile accedere con una sintassi simile a my_array[0][5]. Per saperne di più, consulta Array.

Passaggi successivi