Per ulteriori informazioni concettuali, consulta Incorporamenti multimodali.
Modelli supportati:
Modello | Codice |
---|---|
Incorporamenti per multimodale | multimodalembedding@001 |
Sintassi di esempio
Sintassi per l'invio di una richiesta API rappresentazioni distribuite multimodali.
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:predict \ -d '{ "instances": [ ... ], }'
Python
from vertexai.vision_models import MultiModalEmbeddingModel model = MultiModalEmbeddingModel.from_pretrained("multimodalembedding") model.get_embeddings(...)
Elenco parametri
Consulta gli esempi per i dettagli di implementazione.
Corpo della richiesta
Parametri | |
---|---|
|
Facoltativo: Il testo per cui generare gli incorporamenti. |
|
Facoltativo: L'immagine per cui generare incorporamenti. |
|
Facoltativo: Il segmento video per cui generare incorporamenti. |
|
Facoltativo: La dimensione dell'incorporamento, inclusa nella risposta. Si applica solo all'input di testo e immagini. Valori accettati: |
Immagine
Parametri | |
---|---|
|
Facoltativo: Byte immagine codificati in una stringa base64. Il valore deve essere |
|
Facoltativa. Il percorso di Cloud Storage dell'immagine in cui eseguire l'incorporamento. Uno tra |
|
Facoltativa. Il tipo MIME dei contenuti dell'immagine. Valori supportati: |
VideoSegmentConfig
Parametri | |
---|---|
|
Facoltativo: L'offset iniziale del segmento video in secondi. Se non specificato, viene calcolato con |
|
Facoltativo: L'offset finale del segmento video in secondi. Se non specificato, viene calcolato con |
|
Facoltativa. L'intervallo del video in cui verrà generato l'incorporamento. Il valore minimo per |
Video
Parametri | |
---|---|
|
Facoltativo: Byte video codificati nella stringa Base64. Uno tra |
|
Facoltativo: La posizione di Cloud Storage del video su cui eseguire l'incorporamento. Uno tra |
|
Facoltativo: La configurazione del segmento video. |
Esempi
Genera incorporamenti da immagine
Utilizza l'esempio seguente per generare incorporamenti per un'immagine.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta la pagina relativa all'IA generativa sulle località di Vertex AI. - PROJECT_ID: il tuo ID progetto Google Cloud.
- TEXT: il testo di destinazione per cui ricevere gli incorporamenti. Ad esempio,
a cat
. - B64_ENCODED_IMG: l'immagine di destinazione per cui ricevere gli incorporamenti. L'immagine deve essere specificata come una stringa di byte codificata in Base64.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corpo JSON della richiesta:
{ "instances": [ { "text": "TEXT", "image": { "bytesBase64Encoded": "B64_ENCODED_IMG" } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict" | Select-Object -Expand Content
{ "predictions": [ { "textEmbedding": [ 0.010477379, -0.00399621, 0.00576670747, [...] -0.00823613815, -0.0169572588, -0.00472954148 ], "imageEmbedding": [ 0.00262696808, -0.00198890246, 0.0152047109, -0.0103145819, [...] 0.0324628279, 0.0284924973, 0.011650892, -0.00452344026 ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Genera incorporamenti da casi d'uso video
Utilizza il seguente esempio per generare incorporamenti per i contenuti video.
REST
L'esempio seguente utilizza un video situato in Cloud Storage. Puoi
anche utilizzare il campo video.bytesBase64Encoded
per fornire una rappresentazione stringa
con codifica Base64 del
video.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta la pagina relativa all'IA generativa sulle località di Vertex AI. - PROJECT_ID: il tuo ID progetto Google Cloud.
- VIDEO_URI: l'URI Cloud Storage del video di destinazione per cui ricevere gli incorporamenti.
Ad esempio,
gs://my-bucket/embeddings/supermarket-video.mp4
.Puoi anche fornire il video come stringa di byte codificata in Base64:
[...] "video": { "bytesBase64Encoded": "B64_ENCODED_VIDEO" } [...]
videoSegmentConfig
(START_SECOND, END_SECOND, INTERVAL_SECONDS). Facoltativa. I segmenti video specifici (in secondi) per i quali vengono generati gli incorporamenti.Ad esempio:
[...] "videoSegmentConfig": { "startOffsetSec": 10, "endOffsetSec": 60, "intervalSec": 10 } [...]
L'utilizzo di questa configurazione consente di specificare i dati video da 10 a 60 secondi e genera incorporamenti per i seguenti intervalli video di 10 secondi: [10, 20), [20, 30), [30, 40), [40, 50), [50, 60). Questo intervallo video (
"intervalSec": 10
) rientra nella modalità di incorporamento standard dei video e all'utente viene addebitata la tariffa di prezzo della modalità Standard.Se ometti
videoSegmentConfig
, il servizio utilizza i seguenti valori predefiniti:"videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 120, "intervalSec": 16 }
. Questo intervallo video ("intervalSec": 16
) rientra nella modalità di incorporamento dei video essenziali e all'utente viene addebitata la tariffa di prezzo della modalità Essentials.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corpo JSON della richiesta:
{ "instances": [ { "video": { "gcsUri": "VIDEO_URI", "videoSegmentConfig": { "startOffsetSec": START_SECOND, "endOffsetSec": END_SECOND, "intervalSec": INTERVAL_SECONDS } } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict" | Select-Object -Expand Content
Risposta (video di 7 secondi, nessun videoSegmentConfig
specificato):
{ "predictions": [ { "videoEmbeddings": [ { "endOffsetSec": 7, "embedding": [ -0.0045467657, 0.0258095954, 0.0146885719, 0.00945400633, [...] -0.0023291884, -0.00493789, 0.00975185353, 0.0168156829 ], "startOffsetSec": 0 } ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Risposta (video di 59 secondi, con la seguente configurazione del segmento video: "videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 60, "intervalSec": 10 }
):
{ "predictions": [ { "videoEmbeddings": [ { "endOffsetSec": 10, "startOffsetSec": 0, "embedding": [ -0.00683252793, 0.0390476175, [...] 0.00657121744, 0.013023301 ] }, { "startOffsetSec": 10, "endOffsetSec": 20, "embedding": [ -0.0104404651, 0.0357737206, [...] 0.00509833824, 0.0131902946 ] }, { "startOffsetSec": 20, "embedding": [ -0.0113538112, 0.0305239167, [...] -0.00195809244, 0.00941874553 ], "endOffsetSec": 30 }, { "embedding": [ -0.00299320649, 0.0322436653, [...] -0.00993082579, 0.00968887936 ], "startOffsetSec": 30, "endOffsetSec": 40 }, { "endOffsetSec": 50, "startOffsetSec": 40, "embedding": [ -0.00591270532, 0.0368893594, [...] -0.00219071587, 0.0042470959 ] }, { "embedding": [ -0.00458270218, 0.0368121453, [...] -0.00317760976, 0.00595594104 ], "endOffsetSec": 59, "startOffsetSec": 50 } ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Caso d'uso avanzato
Utilizza il seguente esempio per ottenere incorporamenti per contenuti video, di testo e di immagini.
Per l'incorporamento dei video, puoi specificare il segmento video e la densità di incorporamento.
REST
L'esempio seguente utilizza dati di immagini, testo e video. Puoi utilizzare qualsiasi combinazione di questi tipi di dati nel corpo della richiesta.
Questo esempio utilizza un video che si trova in Cloud Storage. Puoi
anche utilizzare il campo video.bytesBase64Encoded
per fornire una rappresentazione stringa
con codifica Base64 del
video.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta la pagina relativa all'IA generativa sulle località di Vertex AI. - PROJECT_ID: il tuo ID progetto Google Cloud.
- TEXT: il testo di destinazione per cui ricevere gli incorporamenti. Ad esempio,
a cat
. - IMAGE_URI: l'URI Cloud Storage del video di destinazione per cui ricevere gli incorporamenti.
Ad esempio,
gs://my-bucket/embeddings/supermarket-img.png
.Puoi anche fornire l'immagine come stringa di byte codificata in base64:
[...] "image": { "bytesBase64Encoded": "B64_ENCODED_IMAGE" } [...]
- VIDEO_URI: l'URI Cloud Storage del video di destinazione per cui ricevere gli incorporamenti.
Ad esempio,
gs://my-bucket/embeddings/supermarket-video.mp4
.Puoi anche fornire il video come stringa di byte codificata in Base64:
[...] "video": { "bytesBase64Encoded": "B64_ENCODED_VIDEO" } [...]
videoSegmentConfig
(START_SECOND, END_SECOND, INTERVAL_SECONDS). Facoltativa. I segmenti video specifici (in secondi) per i quali vengono generati gli incorporamenti.Ad esempio:
[...] "videoSegmentConfig": { "startOffsetSec": 10, "endOffsetSec": 60, "intervalSec": 10 } [...]
L'utilizzo di questa configurazione consente di specificare i dati video da 10 a 60 secondi e genera incorporamenti per i seguenti intervalli video di 10 secondi: [10, 20), [20, 30), [30, 40), [40, 50), [50, 60). Questo intervallo video (
"intervalSec": 10
) rientra nella modalità di incorporamento standard dei video e all'utente viene addebitata la tariffa di prezzo della modalità Standard.Se ometti
videoSegmentConfig
, il servizio utilizza i seguenti valori predefiniti:"videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 120, "intervalSec": 16 }
. Questo intervallo video ("intervalSec": 16
) rientra nella modalità di incorporamento dei video essenziali e all'utente viene addebitata la tariffa di prezzo della modalità Essentials.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corpo JSON della richiesta:
{ "instances": [ { "text": "TEXT", "image": { "gcsUri": "IMAGE_URI" }, "video": { "gcsUri": "VIDEO_URI", "videoSegmentConfig": { "startOffsetSec": START_SECOND, "endOffsetSec": END_SECOND, "intervalSec": INTERVAL_SECONDS } } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict" | Select-Object -Expand Content
{ "predictions": [ { "textEmbedding": [ 0.0105433334, -0.00302835181, 0.00656806398, 0.00603460241, [...] 0.00445805816, 0.0139605571, -0.00170318608, -0.00490092579 ], "videoEmbeddings": [ { "startOffsetSec": 0, "endOffsetSec": 7, "embedding": [ -0.00673126569, 0.0248149596, 0.0128901172, 0.0107588246, [...] -0.00180952181, -0.0054573305, 0.0117037306, 0.0169312079 ] } ], "imageEmbedding": [ -0.00728622358, 0.031021487, -0.00206603738, 0.0273937676, [...] -0.00204976718, 0.00321615417, 0.0121978866, 0.0193375275 ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Passaggi successivi
Per la documentazione dettagliata, vedi quanto segue: