La búsqueda de respuestas visuales (VQA) te permite proporcionar una imagen al modelo y hacer una pregunta sobre el contenido de la imagen. En respuesta a tu pregunta, obtienes una o más respuestas de lenguaje natural.
Lenguajes compatibles
VQA está disponible en los siguientes idiomas:
- Inglés (en)
Rendimiento y limitaciones
Se aplican los siguientes límites cuando usas este modelo:
Límites | Valor |
---|---|
Cantidad máxima de solicitudes a la API (formato corto) por minuto y por proyecto | 500 |
Cantidad máxima de tokens mostrados en respuesta (formato corto) | 64 tokens |
Cantidad máxima de tokens aceptados en la solicitud (solo VQA en formato corto) | 80 tokens |
Cantidad máxima de tokens mostrados en respuesta (formato largo) | 512 tokens |
Cuando usas este modelo, se aplican las siguientes estimaciones de latencia del servicio. Estos valores son ilustrativos y no son una promesa de servicio:
Latencia | Valor |
---|---|
Solicitudes a la API (formato corto) | 1.5 segundos |
Solicitudes a la API (formato largo) | 4.5 seconds |
Ubicaciones
Una ubicación es una región que puedes especificar en una solicitud para controlar dónde se almacenan los datos en reposo. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI.
Filtrado de seguridad de IA responsable
El modelo de funciones de Búsqueda de respuestas visuales (VQA) y subtítulos de imágenes no admite filtros de seguridad configurables por el usuario. Sin embargo, el filtrado de seguridad general de Imagen se produce en los siguientes datos:
- Entrada del usuario
- Salida del modelo
Como consecuencia, tu resultado puede diferir del resultado de muestra si Imagen aplica estos filtros de seguridad. Considera los siguientes ejemplos:
Entrada filtrada
Si se filtra la entrada, la respuesta es similar a la siguiente:
{
"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\" }"
}
]
}
}
Resultado filtrado
Si la cantidad de respuestas que se muestran es menor que el recuento de muestras que especificas, significa que la IA responsable filtra las respuestas faltantes. Por ejemplo,
la siguiente es una respuesta a una solicitud con "sampleCount": 2
, pero una de las
respuestas se filtra:
{
"predictions": [
"cappuccino"
]
}
Si se filtra todo el resultado, la respuesta es un objeto vacío similar al siguiente:
{}
Usa VQA en una imagen (respuestas de formato corto)
Usa las siguientes muestras para hacer una pregunta y obtener una respuesta sobre una imagen.
REST
Para obtener más información sobre las solicitudes del modelo imagetext
, consulta la
referencia de la API del modelo imagetext
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto de Google Cloud.
- LOCATION: La región del proyecto. Por ejemplo,
us-central1
,europe-west2
oasia-northeast3
. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI. - VQA_PROMPT: es la pregunta que deseas que se responda sobre tu imagen.
- ¿De qué color es este zapato?
- ¿Qué tipo de mangas tiene la camisa?
- B64_IMAGE: es la imagen para la que se deben obtener subtítulos. La imagen debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
- RESPONSE_COUNT: es la cantidad de respuestas que deseas generar. Valores de números enteros aceptados: de 1 a 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 muestra
dos respuestas de la cadena de predicción.
{ "predictions": [ "cappuccino", "coffee" ] }
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En este ejemplo, se usa el método load_from_file
para hacer referencia a un archivo local como
el Image
base para obtener información. Después de especificar la imagen
base, usa el método ask_question
en
ImageTextModel
y, luego, imprime las respuestas.
Usa parámetros de VQA
Cuando obtienes respuestas de VQA, hay varios parámetros que puedes configurar según tu caso de uso.
Cantidad de resultados
Usa el parámetro de cantidad de resultados para limitar la cantidad de respuestas que se muestran de cada solicitud que envías. Para obtener más información, consulta la referencia de la API del modelo (VQA) imagetext
.
Número de origen
Un número que agregues a una solicitud para hacer que las respuestas generadas sean determinísticas. Agregar un número de origen con tu solicitud es una forma de garantizar que obtengas la misma predicción (respuestas) cada vez. Sin embargo, las respuestas no siempre se muestran en el mismo orden. Para obtener más información, consulta la referencia de la API del modelo (VQA) imagetext
.
¿Qué sigue?
- Mira videos que describen modelos de base de Vertex AI, incluido Imagen, el modelo de base de texto a imagen que te permite generar y editar imágenes:
- Lee las entradas de blog que describen imágenes en IA generativa y Vertex AI en Vertex AI: