Domande e risposte visive (VQA)

Imagen for Captioning & VQA (imagetext) è il nome del modello che supporta le domande e le risposte sulle immagini. Imagen per didascalie e 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, vedi la scheda del modello Imagen per sottotitoli codificati e 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.
  • Offri 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 del prompt e dell'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 su cui ottenere informazioni. Stringa 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 int: 1-3
seed Facoltativo. Il seed del generatore di numeri casuali (RNG). Se il seed dell'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, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • LOCATION: la regione del tuo progetto. Ad esempio, us-central1, europe-west2 o asia-northeast3. Per un elenco delle regioni disponibili, consulta Località per l'AI generativa su Vertex AI.
  • VQA_PROMPT: la domanda sulla tua immagine a cui vuoi ricevere una risposta.
    • Di che colore sono queste scarpe?
    • Che tipo di maniche ci sono sulla camicia?
  • 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 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 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 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 si riferiscono a 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"
}