Visual question answering (VQA)

Imagen per le didascalie e VQA (imagetext) è il nome del modello che supporta le domande sull'immagine e risposta. Imagen per la trascrizione codificata e la VQA risponde a una domanda fornita per una determinata immagine, anche se non è stata mai vista dal modello.

Per esplorare questo modello nella console, consulta la sezione Imagen per le didascalie e Scheda del modello VQA in Model Garden.

Vai a Model Garden

Casi d'uso

Ecco alcuni casi d'uso comuni per le domande e le risposte sulle immagini:

  • Offri agli utenti la possibilità di interagire con contenuti visivi grazie a Domande e risposte.
  • Consenti ai clienti di interagire con le immagini prodotto mostrate su app e siti web di vendita al dettaglio.
  • Fornisci opzioni di accessibilità per gli utenti con disabilità visiva.

Richiesta HTTP

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagetext:predict

Corpo della richiesta

{
  "instances": [
    {
      "prompt": string,
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      }
    }
  ],
  "parameters": {
    "sampleCount": integer,
    "seed": integer
  }
}

Utilizza i seguenti parametri per il modello di generazione di domande e risposte visive imagetext. Per ulteriori informazioni, consulta la sezione Utilizzare la risposta alle domande visive (VQA).

Parametro Descrizione Valori accettabili
instances Un array che contiene l'oggetto con dettagli di prompt e immagine su cui ottenere informazioni. array (1 oggetto immagine consentito)
prompt La domanda a cui vuoi ricevere una risposta sulla tua immagine. stringa (massimo 80 token)
bytesBase64Encoded L'immagine di cui vuoi ricevere informazioni. Stringa di immagine con codifica Base64 (PNG o JPEG, massimo 20 MB)
gcsUri L'URI Cloud Storage dell'immagine su cui ottenere informazioni. URI stringa del file immagine in Cloud Storage (PNG o JPEG, max 20 MB)
mimeType Facoltativo. Il tipo MIME dell'immagine specificata. stringa (image/jpeg o image/png)
sampleCount Numero di stringhe di testo generate. Valore intero: 1-3
seed Facoltativo. Il seed del generatore di numeri casuali (RNG). Se il seed RNG è lo stesso per le richieste con gli input, i risultati della previsione saranno gli stessi. integer

Richiesta di esempio

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 o asia-northeast3. Per una lista delle regioni disponibili, vedi L'IA generativa nelle località di Vertex AI.
  • VQA_PROMPT: la domanda a cui vuoi ricevere una risposta sulla 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. Numero intero accettato valori: 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. 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
Le seguenti risposte di esempio sono per una richiesta con "sampleCount": 2 e "prompt": "What is this?". La risposta restituisce due risposte di stringa di previsione.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ]
}

Corpo della risposta


{
  "predictions": [
    string
  ]
}
Elemento risposta Descrizione
predictions Elenco di stringhe di testo che rappresentano la risposta VQA, ordinate per confidenza.

Esempio di risposta

Le seguenti risposte di esempio sono per una richiesta con "sampleCount": 2 e "prompt": "What is this?". La risposta restituisce due risposte di stringa di previsione.

{
  "predictions": [
    "cappuccino",
    "coffee"
  ],
  "deployedModelId": "DEPLOYED_MODEL_ID",
  "model": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID",
  "modelDisplayName": "MODEL_DISPLAYNAME",
  "modelVersionId": "1"
}