A funcionalidade de resposta visual a perguntas (VQA) permite-lhe fornecer uma imagem ao modelo e fazer uma pergunta sobre o conteúdo da imagem. Em resposta à sua pergunta, recebe uma ou mais respostas em linguagem natural.

Pergunta do comando: Que objetos estão na imagem?
Resposta 1: bolas de vidro
Resposta 2: bolas de vidro
Idiomas compatíveis
A VQA está disponível nos seguintes idiomas:
- English (en)
Desempenho e limitações
Os seguintes limites aplicam-se quando usa este modelo:
Limites | Valor |
---|---|
Número máximo de pedidos de API (curtos) por minuto por projeto | 500 |
Número máximo de tokens devolvidos na resposta (formato curto) | 64 tokens |
Número máximo de tokens aceites no pedido (apenas para formato curto de VQA) | 80 tokens |
As seguintes estimativas de latência do serviço aplicam-se quando usa este modelo. Estes valores destinam-se a ser ilustrativos e não são uma promessa de serviço:
Latência | Valor |
---|---|
Pedidos de API (formato curto) | 1,5 segundos |
Localizações
Uma localização é uma região que pode especificar num pedido para controlar onde os dados são armazenados em repouso. Para ver uma lista das regiões disponíveis, consulte o artigo IA generativa nas localizações da Vertex AI.
Filtragem de segurança da IA responsável
O modelo de legendagem de imagens e de resposta visual a perguntas (VQA) não suporta filtros de segurança configuráveis pelo utilizador. No entanto, a filtragem de segurança geral do Imagen ocorre nos seguintes dados:
- Introdução do utilizador
- Saída do modelo
Como resultado, a sua saída pode diferir da saída de amostra se o Imagen aplicar estes filtros de segurança. Considere os seguintes exemplos.
Entrada filtrada
Se a entrada for filtrada, a resposta é semelhante à seguinte:
{
"error": {
"code": 400,
"message": "Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "[ORIGINAL ERROR] generic::invalid_argument: Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394 [google.rpc.error_details_ext] { message: \"Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394\" }"
}
]
}
}
Resultados filtrados
Se o número de respostas devolvidas for inferior à contagem de amostras especificada, significa que as respostas em falta são filtradas pela IA responsável. Por exemplo, o seguinte é uma resposta a um pedido com "sampleCount": 2
, mas uma das respostas é filtrada:
{
"predictions": [
"cappuccino"
]
}
Se toda a saída for filtrada, a resposta é um objeto vazio semelhante ao seguinte:
{}
Use a VQA numa imagem (respostas de formato curto)
Use os seguintes exemplos para fazer uma pergunta e receber uma resposta sobre uma imagem.
REST
Para mais informações sobre os pedidos de modelos imagetext
, consulte a
imagetext
referência da API de modelos.
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
ouasia-northeast3
. Para ver uma lista das regiões disponíveis, consulte Localizações da IA generativa na 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
"sampleCount": 2
e "prompt": "What is this?"
. A resposta devolve duas respostas de string de previsão.
{ "predictions": [ "cappuccino", "coffee" ] }
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, usa o método load_from_file
para fazer referência a um ficheiro local como a base Image
para obter informações sobre. Depois de especificar a imagem base, usa o método ask_question
no ImageTextModel
e imprime as respostas.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, chama o métodopredict
num
PredictionServiceClient
.
O serviço devolve respostas para a pergunta fornecida.
Use parâmetros para VQA
Quando recebe respostas de VQA, existem vários parâmetros que pode definir consoante o seu exemplo de utilização.
Número de resultados
Use o parâmetro de número de resultados para limitar a quantidade de respostas devolvidas para cada pedido que enviar. Para mais informações, consulte a imagetext
(VQA)
referência da API do modelo.
Número aleatório
Um número que adiciona a um pedido para tornar as respostas geradas determinísticas. Adicionar um número de semente ao seu pedido é uma forma de garantir que recebe sempre a mesma previsão (respostas). No entanto, as respostas não são necessariamente devolvidas pela mesma ordem. Para mais informações, consulte a
imagetext
(VQA) model API reference.
O que se segue?
Leia artigos sobre o Imagen e outros produtos de IA generativa na Vertex AI:
- Um guia do programador para começar a usar o Imagen 3 na Vertex AI
- Novos modelos e ferramentas de multimédia generativa, criados com e para criadores
- Novidades no Gemini: Gems personalizados e geração de imagens melhorada com o Imagen 3
- Google DeepMind: Imagen 3 – O nosso modelo de conversão de texto em imagem de mais alta qualidade