Perguntas e respostas visuais (VQA)

O Imagen for Captioning & VQA (imagetext) é o nome do modelo que suporta perguntas e respostas sobre imagens. O Imagen for Captioning & VQA responde a uma pergunta fornecida para uma determinada imagem, mesmo que o modelo nunca a tenha visto antes.

Para explorar este modelo na consola, consulte o cartão do modelo Imagen for Captioning & VQA no Model Garden.

Veja o cartão do modelo Imagen for Captioning e VQA

Exemplos de utilização

Alguns exemplos de utilização comuns para perguntas e respostas sobre imagens incluem:

  • Permitir que os utilizadores interajam com conteúdo visual através de perguntas e respostas.
  • Permitir que os clientes interajam com as imagens dos produtos apresentadas em apps e Websites de retalho.
  • Oferecer opções de acessibilidade para utilizadores com deficiência visual.

Pedido HTTP

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

Corpo do pedido

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

Use os seguintes parâmetros para o modelo de geração de perguntas e respostas visuais imagetext. Para mais informações, consulte o artigo Use o recurso de resposta visual a perguntas (VQA).

Parâmetro Descrição Valores aceitáveis
instances Uma matriz que contém o objeto com detalhes do comando e da imagem para obter informações. matriz (1 objeto de imagem permitido)
prompt A pergunta à qual quer obter uma resposta sobre a sua imagem. string (máximo de 80 tokens)
bytesBase64Encoded A imagem sobre a qual quer obter informações. String de imagem codificada em base64 (PNG ou JPEG, máximo de 20 MB)
gcsUri O URI do Cloud Storage da imagem sobre a qual quer obter informações. URI de string do ficheiro de imagem no Cloud Storage (PNG ou JPEG, máximo de 20 MB)
mimeType Opcional. O tipo MIME da imagem que especificar. string (image/jpeg ou image/png)
sampleCount Número de strings de texto geradas. Valor int: 1-3
seed Opcional. A semente para o gerador de números aleatórios (GNA). Se o número aleatório for o mesmo para pedidos com as entradas, os resultados da previsão serão os mesmos. número inteiro

Exemplo de pedido

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o seu Google Cloud ID do projeto.
  • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para ver uma lista das regiões disponíveis, consulte Localizações da IA generativa no Vertex AI.
  • VQA_PROMPT: a pergunta cuja resposta quer obter sobre a sua imagem.
    • De que cor é este sapato?
    • Que tipo de mangas tem a camisola?
  • B64_IMAGE: a imagem para gerar legendas. A imagem tem de ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
  • RESPONSE_COUNT: o número de respostas que quer gerar. Valores inteiros aceites: 1 a 3.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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
As seguintes respostas de exemplo são para um pedido com "sampleCount": 2 e "prompt": "What is this?". A resposta devolve duas respostas de string de previsão.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ]
}

Corpo da resposta


{
  "predictions": [
    string
  ]
}
Elemento de resposta Descrição
predictions Lista de strings de texto que representam a resposta VQA, ordenadas por confiança.

Exemplo de resposta

As seguintes respostas de exemplo destinam-se a uma solicitação com "sampleCount": 2 e "prompt": "What is this?". A resposta devolve duas respostas de string de previsão.

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