Vision & Multimodal AI
Los modelos multimodales procesan múltiples tipos de entrada: texto, imágenes, audio, video.
Capacidades de visión
| Tarea | Descripción |
|---|---|
| OCR | Extraer texto de imágenes |
| Descripción | Describir contenido visual |
| Análisis | Identificar objetos/personas |
| Comparación | Comparar imágenes |
| Diagramas | Entender gráficos/charts |
Modelos multimodales
| Modelo | Proveedor | Entrada |
|---|---|---|
| GPT-4V | OpenAI | Texto + Imagen |
| Claude 3 | Anthropic | Texto + Imagen |
| Gemini Pro | Texto + Imagen + Audio | |
| LLaVA | Open Source | Texto + Imagen |
Enviar imagen a Claude
const response = await anthropic.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [{
role: "user",
content: [
{
type: "image",
source: {
type: "base64",
media_type: "image/jpeg",
data: base64Image
}
},
{
type: "text",
text: "¿Qué hay en esta imagen?"
}
]
}]
});
Enviar imagen a OpenAI
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "¿Qué hay en esta imagen?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
}
]
}]
)
Casos de uso reales
| Aplicación | Ejemplo |
|---|---|
| Accesibilidad | Describir imágenes para ciegos |
| Documentos | Extraer datos de facturas |
| Retail | Analizar productos en fotos |
| Salud | Análisis preliminar de rayos X |
| Seguridad | Detección de contenido |
Modelos de clasificación de imágenes
Para tareas específicas, usa modelos especializados:
from transformers import pipeline
# Clasificación
classifier = pipeline("image-classification")
result = classifier("cat.jpg")
# → [{"label": "cat", "score": 0.99}]
# Detección de objetos
detector = pipeline("object-detection")
objects = detector("street.jpg")
# → [{"label": "car", "box": {...}}]
🏦 Caso Fintech: Verificación KYC con Vision
Know Your Customer (KYC) requiere verificar documentos de identidad. Vision AI automatiza este proceso:
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic();
interface KYCResult {
documentType: 'passport' | 'id_card' | 'drivers_license' | 'unknown';
extractedData: {
fullName?: string;
documentNumber?: string;
expiryDate?: string;
nationality?: string;
};
validationChecks: {
isExpired: boolean;
formatValid: boolean;
photoDetected: boolean;
};
confidence: number;
requiresManualReview: boolean;
}
async function verifyKYCDocument(imageBase64: string): Promise<KYCResult> {
const response = await anthropic.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [{
role: "user",
content: [
{
type: "image",
source: { type: "base64", media_type: "image/jpeg", data: imageBase64 }
},
{
type: "text",
text: `Analiza este documento de identidad para KYC. Extrae:
1. Tipo de documento (passport, id_card, drivers_license)
2. Nombre completo
3. Número de documento
4. Fecha de expiración
5. Nacionalidad
Verifica:
- ¿El documento está expirado?
- ¿El formato parece válido?
- ¿Se detecta foto del titular?
Responde SOLO en JSON con este formato:
{
"documentType": "...",
"extractedData": {...},
"validationChecks": {...},
"confidence": 0.0-1.0,
"requiresManualReview": true/false
}
IMPORTANTE: Si hay CUALQUIER duda sobre la autenticidad, marca requiresManualReview: true`
}
]
}]
});
// Parsear respuesta y validar
const result = JSON.parse(response.content[0].text);
// Regla de negocio: baja confianza = revisión manual
if (result.confidence < 0.85) {
result.requiresManualReview = true;
}
// Log para auditoría (sin datos sensibles)
await auditLog({
action: 'KYC_VERIFICATION',
documentType: result.documentType,
confidence: result.confidence,
requiresManualReview: result.requiresManualReview,
timestamp: new Date().toISOString()
});
return result;
}
Consideraciones de seguridad KYC
| Aspecto | Recomendación |
|---|---|
| Almacenamiento | Encriptar imágenes en reposo (AES-256) |
| Retención | Eliminar después de verificación (30-90 días) |
| Logs | NO guardar datos extraídos en logs |
| Fallback | Siempre tener revisión humana disponible |
| Regulación | Cumplir con GDPR/LGPD para datos biométricos |
💡 Vision AI acelera KYC de días a minutos, pero siempre mantén un humano en el loop para casos de baja confianza.