Preguntas y respuestas visuales (VQA)

Imagen for Captioning & VQA (imagetext) es el nombre del modelo que admite preguntas y respuestas sobre imágenes. Imagen for Captioning & VQA responde a una pregunta sobre una imagen determinada, aunque el modelo no la haya visto antes.

Para explorar este modelo en la consola, consulta la tarjeta del modelo Imagen for Captioning & VQA en Model Garden.

Ver la tarjeta del modelo Imagen for Captioning & VQA

Casos prácticos

Estos son algunos casos prácticos habituales de preguntas y respuestas sobre imágenes:

  • Permite que los usuarios interactúen con el contenido visual mediante la función de preguntas.
  • Permite que los clientes interactúen con las imágenes de los productos que se muestran en las aplicaciones y los sitios web de comercios.
  • Ofrece opciones de accesibilidad para usuarios con discapacidad visual.

Solicitud HTTP

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

Cuerpo de la solicitud

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

Usa los siguientes parámetros para el modelo de generación de preguntas y respuestas visuales imagetext. Para obtener más información, consulta Usar Visual Question Answering (VQA).

Parámetro Descripción Valores aceptables
instances Es un array que contiene el objeto con la petición y los detalles de la imagen de la que se quiere obtener información. matriz (se permite 1 objeto de imagen)
prompt La pregunta que quieres que se responda sobre tu imagen. cadena (80 tokens como máximo)
bytesBase64Encoded La imagen de la que quieres obtener información. Cadena de imagen codificada en Base64 (PNG o JPEG, 20 MB como máximo)
gcsUri El URI de Cloud Storage de la imagen de la que se quiere obtener información. URI de cadena del archivo de imagen en Cloud Storage (PNG o JPEG, 20 MB como máximo)
mimeType Opcional. El tipo MIME de la imagen que especifiques. cadena (image/jpeg o image/png)
sampleCount Número de cadenas de texto generadas. Valor int: 1-3
seed Opcional. La semilla del generador de números aleatorios (RNG). Si la semilla de RNG es la misma para las solicitudes con las entradas, los resultados de la predicción serán los mismos. entero

Solicitud de ejemplo

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu Google Cloud ID de proyecto.
  • LOCATION: la región de tu proyecto. Por ejemplo, us-central1, europe-west2 o asia-northeast3. Para ver una lista de las regiones disponibles, consulta Ubicaciones de la IA generativa en Vertex AI.
  • VQA_PROMPT: la pregunta que quieres hacer sobre tu imagen.
    • ¿De qué color es este zapato?
    • ¿Qué tipo de mangas tiene la camiseta?
  • B64_IMAGE: la imagen de la que se obtendrán los subtítulos. La imagen debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
  • RESPONSE_COUNT: el número de respuestas que quieres generar. Valores enteros aceptados: del 1 al 3.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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
Las siguientes respuestas de ejemplo corresponden a una solicitud con "sampleCount": 2 y "prompt": "What is this?". La respuesta devuelve dos cadenas de predicción.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ]
}

Cuerpo de la respuesta


{
  "predictions": [
    string
  ]
}
Elemento de respuesta Descripción
predictions Lista de cadenas de texto que representan la respuesta de VQA, ordenada por confianza.

Respuesta de ejemplo

Las siguientes respuestas de ejemplo corresponden a una solicitud con "sampleCount": 2 y "prompt": "What is this?". La respuesta devuelve dos cadenas de predicción.

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