Le didascalie visive consentono di generare una descrizione pertinente per un'immagine. Puoi utilizzare queste informazioni per diversi utilizzi:
- Ottieni metadati più dettagliati sulle immagini per l'archiviazione e la ricerca.
- Genera sottotitoli automatici a supporto dei casi d'uso di accessibilità.
- Ricevi brevi descrizioni di prodotti e risorse visive.
![Esempio di immagine con didascalia](https://cloud.google.com/static/vertex-ai/generative-ai/docs/image/images/vcap_buttonup.jpg?authuser=1&hl=it)
Fonte dell'immagine: Santhosh Kumar su Unsplash (ritaglio)
Didascalia (formato breve): una camicia blu con pois bianchi appesa a un gancio
Lingue supportate
I sottotitoli codificati visivi sono disponibili nelle seguenti lingue:
- Inglese (
en
) - Francese (
fr
) - Tedesco (
de
) - Italiano (
it
) - Spagnolo (
es
)
Prestazioni e limitazioni
Quando utilizzi questo modello, si applicano i seguenti limiti:
Limiti | Valore |
---|---|
Numero massimo di richieste API (formato breve) al minuto per progetto | 500 |
Numero massimo di token restituiti nella risposta (formato breve) | 64 token |
Numero massimo di token accettati nella richiesta (solo VQA nel formato breve) | 80 token |
Numero massimo di token restituiti nella risposta (formato lungo) | 512 token |
Quando utilizzi questo modello, vengono applicate le seguenti stime di latenza del servizio. I seguenti valori hanno scopo puramente illustrativo e non costituiscono una promessa di servizio:
Latenza | Valore |
---|---|
Richieste API (formato breve) | 1,5 secondi |
Richieste API (formato lungo) | 4,5 secondi |
Località
Una località è una regione che puoi specificare in una richiesta per controllare dove sono archiviati i dati at-rest. Per un elenco delle regioni disponibili, vedi Località dell'AI generativa su Vertex AI.
Filtro sicurezza IA responsabile
Il modello delle funzionalità per le didascalie delle immagini e la risposta alle domande visive (VQA) non supporta i filtri di sicurezza configurabili dall'utente. Tuttavia, il filtro di sicurezza complessivo di Imagen si applica ai seguenti dati:
- Input utente
- Output del modello
Di conseguenza, l'output potrebbe essere diverso da quello di esempio se Imagen applica questi filtri di sicurezza. Considera i seguenti esempi.
Input filtrato
Se l'input viene filtrato, la risposta è simile alla seguente:
{
"error": {
"code": 400,
"message": "Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "[ORIGINAL ERROR] generic::invalid_argument: Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394 [google.rpc.error_details_ext] { message: \"Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394\" }"
}
]
}
}
Output filtrato
Se il numero di risposte restituite è inferiore al numero di campioni specificato,
significa che le risposte mancanti vengono filtrate dall'AI responsabile. Ad esempio,
di seguito è una risposta a una richiesta con "sampleCount": 2
, ma una delle
risposte viene filtrata:
{
"predictions": [
"cappuccino"
]
}
Se tutto l'output viene filtrato, la risposta è un oggetto vuoto simile al seguente:
{}
Visualizza didascalie delle immagini brevi
Usa gli esempi riportati di seguito per generare didascalie brevi per un'immagine.
REST
Per saperne di più sulle richieste del modello imagetext
, consulta la
documentazione di riferimento sull'API del modello imagetext
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud.
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località per l'AI generativa su Vertex AI. - B64_IMAGE: l'immagine per la quale visualizzare i sottotitoli codificati. L'immagine deve essere specificata come stringa di byte codificata in base64. Dimensioni massime: 10 MB.
- RESPONSE_COUNT: il numero di didascalie delle immagini che vuoi generare. Valori interi accettati: 1-3.
- LANGUAGE_CODE: uno dei codici lingua supportati. Lingue supportate:
- Inglese (
en
) - Francese (
fr
) - Tedesco (
de
) - Italiano (
it
) - Spagnolo (
es
)
- Inglese (
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict
Corpo JSON della richiesta:
{ "instances": [ { "image": { "bytesBase64Encoded": "B64_IMAGE" } } ], "parameters": { "sampleCount": RESPONSE_COUNT, "language": "LANGUAGE_CODE" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
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/imagetext: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/imagetext:predict" | Select-Object -Expand Content
"sampleCount": 2
. La risposta restituisce due stringhe di previsione.
Inglese (en
):
{ "predictions": [ "a yellow mug with a sheep on it sits next to a slice of cake", "a cup of coffee with a heart shaped latte art next to a slice of cake" ], "deployedModelId": "DEPLOYED_MODEL_ID", "model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID", "modelDisplayName": "MODEL_DISPLAYNAME", "modelVersionId": "1" }
Spagnolo (es
):
{ "predictions": [ "una taza de café junto a un plato de pastel de chocolate", "una taza de café con una forma de corazón en la espuma" ] }
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
In questo esempio viene utilizzato il metodo load_from_file
per fare riferimento a un file locale come
Image
di base per ottenere una didascalia. Dopo aver specificato l'immagine di base, utilizza il metodo get_captions
in ImageTextModel
e stampi l'output.
Utilizzare i parametri per le didascalie delle immagini
Quando ottieni le didascalie delle immagini, puoi impostare diversi parametri a seconda del caso d'uso.
Numero risultati
Utilizza il parametro del numero di risultati per limitare la quantità di sottotitoli restituiti per ogni richiesta che invii. Per maggiori informazioni, consulta il riferimento all'API del modello imagetext
(per le didascalie delle immagini).
Numero originale
Un numero che aggiungi a una richiesta per rendere deterministiche generate le descrizioni generate.
L'aggiunta di un numero seed alla richiesta è un modo per assicurarti di ottenere la stessa previsione (descrizioni) ogni volta. Tuttavia, le didascalie delle immagini non vengono
necessariamente restituite nello stesso ordine. Per maggiori informazioni, consulta il riferimento all'API del modello imagetext
(per le didascalie delle immagini).
Passaggi successivi
- Guarda i video che descrivono i modelli di base di Vertex AI, tra cui Imagen, il modello di base da testo a immagine che consente di generare e modificare immagini:
- Leggi il blog post che descrive Imagen su Vertex AI e IA generativa su Vertex AI: