Visual Question Answering (VQA)

Imagen for Captioning & VQA (imagetext) è il nome del modello che supporta le domande e le risposte sulle immagini. Imagen for Captioning & VQA risponde a una domanda fornita per una determinata immagine, anche se non è mai stata vista prima dal modello.

Per esplorare questo modello nella console, consulta la scheda del modello Imagen for Captioning & VQA in Model Garden.

Visualizza la scheda del modello Imagen per la generazione di didascalie e VQA

Casi d'uso

Alcuni casi d'uso comuni per le domande e le risposte sulle immagini includono:

  • Consenti agli utenti di interagire con i contenuti visivi con Domande e risposte.
  • Consenti ai clienti di interagire con le immagini prodotto mostrate su app e siti web di vendita al dettaglio.
  • Fornire 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, vedi Utilizzare la funzionalità di risposta a domande visive (VQA).

Parametro Descrizione Valori accettabili
instances Un array che contiene l'oggetto con i dettagli del prompt e dell'immagine su cui ottenere informazioni. array (è consentito un solo oggetto immagine)
prompt La domanda a cui vuoi ricevere una risposta sulla tua immagine. stringa (massimo 80 token)
bytesBase64Encoded L'immagine su cui ottenere informazioni. Stringa dell'immagine con codifica base64 (PNG o JPEG, massimo 20 MB)
gcsUri L'URI Cloud Storage dell'immagine di cui vuoi ottenere informazioni. URI stringa del file immagine in Cloud Storage (PNG o JPEG, massimo 20 MB)
mimeType Facoltativo. Il tipo MIME dell'immagine che specifichi. stringa (image/jpeg o image/png)
sampleCount Numero di stringhe di testo generate. Valore int: 1-3
seed Facoltativo. Il seed per il 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 Google Cloud ID progetto.
  • LOCATION: la regione del progetto. Ad esempio, us-central1, europe-west2 o asia-northeast3. Per un elenco delle regioni disponibili, consulta Località dell'AI 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 maglietta?
  • B64_IMAGE: L'immagine per cui ottenere i sottotitoli codificati. L'immagine deve essere specificata come stringa di byte con codifica 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 di queste 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
Le seguenti risposte di esempio si riferiscono a una richiesta con "sampleCount": 2 e "prompt": "What is this?". La risposta restituisce due stringhe di previsione.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ]
}

Corpo della risposta


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

Esempio di risposta

Le seguenti risposte di esempio si riferiscono a una richiesta con "sampleCount": 2 e "prompt": "What is this?". La risposta restituisce due stringhe di previsione.

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