La funzionalità Visual Question Answering (VQA) ti consente di fornire un'immagine al modello e di porre una domanda sui contenuti dell'immagine. In risposta alla tua domanda, ricevi una o più risposte in linguaggio naturale.
Lingue supportate
La VQA è disponibile nelle seguenti lingue:
- Inglese (en)
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à di trascrizione di immagini e risposta a domande visive (VQA) non supporta i filtri di sicurezza configurabili dall'utente. Tuttavia, il filtro di sicurezza di Imagen viene applicato ai 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 gli esempi riportati di seguito.
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 seguente:
{}
Utilizzare la VQA su un'immagine (risposte brevi)
Utilizza i seguenti esempi per porre una domanda e ricevere una risposta su un'immagine.
REST
Per ulteriori informazioni sulle richieste del modello imagetext
, consulta il riferimento all'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. - VQA_PROMPT: la domanda a cui vuoi ricevere una risposta in merito alla tua immagine.
- Di che colore è questa scarpa?
- Che tipo di maniche ha la camicia?
- B64_IMAGE: l'immagine per cui ottenere i sottotitoli codificati. L'immagine deve essere specificata come stringa di byte codificata in base64. Dimensioni massime: 10 MB.
- RESPONSE_COUNT: il numero di risposte che vuoi generare. Valori interi accettati: 1-3.
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": [ { "prompt": "VQA_PROMPT", "image": { "bytesBase64Encoded": "B64_IMAGE" } } ], "parameters": { "sampleCount": RESPONSE_COUNT } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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
e "prompt": "What is this?"
. La risposta restituisce due risposte di stringa di previsione.
{ "predictions": [ "cappuccino", "coffee" ] }
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. 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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
In questo esempio utilizzi il metodo load_from_file
per fare riferimento a un file locale come base Image
per ottenere informazioni. Dopo aver specificato l'immagine di base, utilizza il metodo ask_question
su ImageTextModel
e stampa le risposte.
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 la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
In questo esempio, chiami il metodopredict
su un
PredictionServiceClient
.
Il servizio restituisce le risposte alla domanda fornita.
Utilizzare i parametri per la VQA
Quando ricevi le risposte VQA, puoi impostare diversi parametri a seconda del caso d'uso.
Numero risultati
Utilizza il parametro del numero di risultati per limitare la quantità di risposte restituite per ogni richiesta inviata. Per ulteriori informazioni, consulta il riferimento all'API del modello imagetext
(VQA).
Numero seed
Un numero che aggiungi a una richiesta per rendere deterministiche le risposte generate. L'aggiunta di un numero seed alla richiesta è un modo per assicurarti di ottenere sempre la stessa previsione (risposte). Tuttavia, le risposte non vengono necessariamente restituite nello stesso ordine. Per ulteriori informazioni, consulta il
riferimento all'API del modello imagetext
(VQA).
Passaggi successivi
Leggi gli articoli su Imagen e su altri prodotti di IA generativa su Vertex AI:
- Guida per gli sviluppatori per 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 di immagini migliorata con Imagen 3
- Google DeepMind: Imagen 3, il nostro modello di conversione da testo a immagine di altissima qualità