Le didascalie visive consentono di generare una descrizione pertinente per un'immagine. Puoi utilizzare queste informazioni per una serie di scopi:
- Ottieni metadati più dettagliati sulle immagini per l'archiviazione e la ricerca.
- Genera sottotitoli codificati automatici per supportare i casi d'uso di accessibilità.
- Ricevi descrizioni rapide di prodotti e asset visivi.
Fonte immagine: Santhosh Kumar su Unsplash (ritagliata)
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 formato breve VQA) | 80 token |
Quando utilizzi questo modello, si applicano le seguenti stime della latenza del servizio. Questi valori sono puramente indicativi e non rappresentano un impegno di servizio:
Latenza | Valore |
---|---|
Richieste API (formato breve) | 1,5 secondi |
Località
Una località è una regione che puoi specificare in una richiesta per controllare dove vengono archiviati i dati at-rest. Per un elenco delle regioni disponibili, consulta Località dell'IA generativa su Vertex AI.
Filtri di sicurezza per l'IA responsabile
Il modello di funzionalità per le didascalie delle immagini e la risposta alle domande visive (VQA) Supporta filtri di sicurezza configurabili dall'utente. Tuttavia, nel complesso Sicurezza Imagen filtro si verifica seguenti dati:
- Input utente
- Output del modello
Di conseguenza, l'output potrebbe essere diverso dall'output 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 esempi specificato, significa che le risposte mancanti sono filtrate dall'IA responsabile. Ad esempio,
la seguente è 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 seguenti:
{}
Visualizza didascalie delle immagini brevi
Utilizza i seguenti esempi per generare didascalie brevi per un'immagine.
REST
Per ulteriori informazioni sulle richieste del modello imagetext
, consulta le
Riferimento API del modello imagetext
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud.
- LOCATION: la regione del progetto. Ad esempio:
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'IA generativa su Vertex AI. - B64_IMAGE: l'immagine per cui ottenere i sottotitoli codificati. L'immagine deve essere specificata come stringa di byte codificata in base64. Limite dimensioni: 10 MB
- RESPONSE_COUNT: il numero di didascalie delle immagini che vuoi generare. Numero intero accettato valori: 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 nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Vertex AI.
Per autenticarti in Vertex AI, configura le 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
per cui ricevere una didascalia. Dopo aver specificato l'immagine di base, utilizza il metodo get_captions
su ImageTextModel
e stampa l'output.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
In questo esempio, chiami il metodopredict
su un
PredictionServiceClient
.
Il servizio restituisce i sottotitoli codificati per
l'immagine fornita.
Utilizzare i parametri per le didascalie delle immagini
Per ottenere le didascalie delle immagini, esistono diversi parametri che puoi impostare a seconda del caso d'uso.
Numero risultati
Utilizza il parametro del numero di risultati per limitare la quantità di sottotitoli codificati restituiti per ogni richiesta inviata. Per ulteriori informazioni, consulta
Riferimento API del modello imagetext
(per le didascalie delle immagini).
Numero originale
Un numero che aggiungi a una richiesta per rendere deterministiche le descrizioni generate.
Aggiungere un numero seed alla tua richiesta è un modo per assicurarti di ottenere lo stesso
previsione (descrizioni) ogni volta. Tuttavia, le didascalie delle immagini non sono
restituiti necessariamente nello stesso ordine. Per ulteriori informazioni, consulta il
riferimento all'API del modello imagetext
(sottotitoli codificati per le immagini).
Passaggi successivi
Leggi articoli su Imagen e altre IA generativa su Vertex AI prodotti:
- Una guida per gli sviluppatori su come iniziare a utilizzare Imagen 3 su Vertex AI
- Nuovi modelli e strumenti di media generativi, creati con e per i creator
- Novità in Gemini: Gem personalizzati e generazione delle immagini migliorata con Imagen 3
- Google DeepMind: Imagen 3 - La nostra più alta qualità modello da testo a immagine