Perguntas e respostas visuais (VQA)

Imagen for Captioning & VQA (imagetext) é o nome do modelo compatível com perguntas e respostas de imagem. Imagen for Captioning e VQA responde a uma pergunta fornecida para uma determinada imagem, mesmo que não tenha sido vista antes pelo modelo.

Para explorar esse modelo no console, consulte o card de modelo Imagen for Captioning e VQA no Model Garden.

Acessar o Model Garden

Casos de uso

Alguns casos de uso comuns para perguntas e respostas com imagens incluem:

  • Permita que os usuários interajam com conteúdo visual com perguntas e respostas.
  • Permita que os clientes interajam com imagens de produtos exibidas em apps e sites de varejo.
  • Ofereça opções de acessibilidade para usuários com deficiência visual.

Solicitação HTTP

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

Corpo da solicitação

{
  "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 parâmetros a seguir para o modelo visual de geração de perguntas e respostas imagetext. Para mais informações, consulte Usar resposta visual de perguntas (VQA, na sigla em inglês).

Parâmetro Descrição Valores aceitáveis
instances Uma matriz que contém o objeto com detalhes do comando e da imagem para receber informações. matriz (1 objeto de imagem permitido)
prompt A pergunta que você quer que seja respondida sobre sua imagem. String (máximo de 80 tokens)
bytesBase64Encoded A imagem sobre a qual você vai receber informações. String de imagem codificada em Base64 (PNG ou JPEG, 20 MB no máximo)
gcsUri O URI do Cloud Storage da imagem para receber informações. URI de string do arquivo de imagem no Cloud Storage (PNG ou JPEG, 20 MB no máximo)
mimeType Opcional. O tipo MIME da imagem que você especifica. string (image/jpeg ou image/png)
sampleCount Número de strings de texto geradas. Int value: 1-3
seed Opcional. A semente do gerador de número aleatório (RNG). Se a semente RNG for a mesma para solicitações com entradas, os resultados da previsão serão os mesmos. integer

Exemplo de solicitação

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para uma lista de regiões disponíveis, consulte IA generativa em locais da Vertex AI.
  • VQA_PROMPT: a pergunta que você quer que seja respondida sobre sua imagem.
    • Que cor é este sapato?
    • Qual é o tipo de manga da camisa?
  • B64_IMAGE: a imagem que receberá as legendas. A imagem precisa ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
  • RESPONSE_COUNT: o número de respostas que você quer gerar. Valores inteiros aceitos: 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 da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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 amostras de respostas a seguir são para uma solicitação com "sampleCount": 2 e "prompt": "What is this?". A resposta retorna 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 representa a resposta do VQA, classificada por confiança.

Exemplo de resposta

As amostras de respostas a seguir são para uma solicitação com "sampleCount": 2 e "prompt": "What is this?". A resposta retorna 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"
}