Système visuel de questions-réponses (VQA)

Imagen pour le sous-titrage et VQA (imagetext) est le nom du modèle qui fonctionne avec les questions sur les images et les réponses. Imagen pour le sous-titrage et VQA répond à une question fournie pour une image donnée, même si elle n'a pas encore été vue par le modèle.

Pour explorer ce modèle dans la console, consultez la fiche de modèle Imagen pour le sous-titrage et VQA dans Model Garden.

Accéder à Model Garden

Cas d'utilisation

Voici quelques cas d'utilisation courants des questions et des réponses d'images :

  • Encouragez les utilisateurs à interagir avec du contenu visuel à l'aide de questions/réponses.
  • Permettez aux clients d'interagir avec des images produit affichées sur des applications et des sites Web de commerce.
  • Options d'accessibilité pour les utilisateurs souffrant de déficiences visuelles.

Requête HTTP

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

Corps de la requête

{
  "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
  }
}

Utilisez les paramètres suivants pour le modèle visuel de génération de questions-réponses imagetext. Pour en savoir plus, consultez Utiliser Visual Question Answering (VQA).

Paramètre Description Valeurs acceptables
instances Tableau qui contient l'objet comprenant des détails sur une requête et une image pour lequel vous souhaitez obtenir des informations. Tableau (1 objet autorisé par image)
prompt La question pour laquelle vous souhaitez obtenir une réponse concernant votre image. Chaîne (80 jetons au maximum)
bytesBase64Encoded Image pour laquelle vous souhaitez obtenir des informations. Chaîne d'image encodée en base64 (PNG ou JPEG, 20 Mo au maximum)
gcsUri URI Cloud Storage de l'image pour laquelle vous souhaitez obtenir des informations. URI de chaîne du fichier image dans Cloud Storage (PNG ou JPEG, 20 Mo au maximum)
mimeType Facultatif. Type MIME de l'image que vous spécifiez. Chaîne (image/jpeg ou image/png)
sampleCount Nombre de chaînes de texte générées. Valeur Int : 1-3
seed Facultatif. Valeur source du générateur de nombres aléatoires (GNA). Si la valeur source du GNA est identique pour les requêtes contenant les entrées, les résultats de prédiction seront identiques. integer

Exemple de requête

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • LOCATION : région de votre projet. Par exemple, us-central1, europe-west2 ou asia-northeast3. Pour obtenir la liste des régions disponibles, consultez la section IA générative sur les emplacements Vertex AI.
  • VQA_PROMPT : question pour laquelle vous souhaitez obtenir une réponse concernant votre image.
    • De quelle couleur est cette chaussure ?
    • Quel type de manchots se trouve sur la chemise ?
  • B64_IMAGE : image pour laquelle vous souhaitez obtenir une légende. L'image doit être spécifiée en tant que chaîne d'octets encodée en base64. Limite de taille : 10 Mo
  • RESPONSE_COUNT : nombre de réponses que vous souhaitez générer. Valeurs entières acceptées : 1-3.

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "instances": [
    {
      "prompt": "VQA_PROMPT",
      "image": {
          "bytesBase64Encoded": "B64_IMAGE"
      }
    }
  ],
  "parameters": {
    "sampleCount": RESPONSE_COUNT
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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
Les exemples de réponses suivants concernent une requête avec "sampleCount": 2 et "prompt": "What is this?". La réponse renvoie deux réponses de chaînes de prédiction.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ],
  "deployedModelId": "DEPLOYED_MODEL_ID",
  "model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID",
  "modelDisplayName": "MODEL_DISPLAYNAME",
  "modelVersionId": "1"
}

Corps de la réponse


{
  "predictions": [
    string
  ]
}
Élément de réponse Description
predictions Liste de chaînes de texte représentant les réponses VQA, triées par confiance.

Exemple de réponse

Les exemples de réponses suivants concernent une requête avec "sampleCount": 2 et "prompt": "What is this?". La réponse renvoie deux réponses de chaînes de prédiction.

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