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