Módulo 2: Vision + LLMs
1. Introducción: LLMs con Visión
Descripción
Esta es la primera cápsula del Módulo 2 de la Guía de IA Multimodal. En el Módulo 1 aprendiste el landscape completo: qué modalidades existen, qué modelos las soportan, y cómo clasificar inputs. Ahora vas a profundizar en la modalidad más madura y demandada en producción: visión.
Los LLMs con visión pueden recibir una imagen y un prompt, y devolver análisis textual: descripciones, texto extraído (OCR), clasificaciones, respuestas a preguntas sobre el contenido visual. Esto transforma flujos de trabajo que antes requerían pipelines de computer vision especializados en llamadas a una API.
Por qué importa: La visión es la modalidad multimodal con mayor adopción en producción. Tres proveedores dominan el espacio — OpenAI (GPT-4 Vision), Anthropic (Claude 3) y Google (Gemini) — y cada uno tiene fortalezas distintas. Dominar los tres te permite elegir el mejor para cada caso, diseñar fallbacks cuando uno falla, y negociar costos con criterio técnico.
Este módulo no es una lista de APIs. Es un framework para pensar en vision como herramienta de ingeniería: cuándo usarla, con qué proveedor, en qué formato, a qué costo, y con qué limitaciones. Al final construirás un Image Analyzer multi-provider que aplica todo esto en un sistema funcional con fallback automático.
¿Dónde Estamos en la Guía?
Contexto
Phase 1: Fundamentos Multimodales (Módulos 1-3)
├── Módulo 1: Introducción a IA Multimodal ✅ COMPLETADO
├── Módulo 2: Vision + LLMs ← ESTÁS AQUÍ
└── Módulo 3: Comprensión de Documentos
Phase 2: Generación y Audio (Módulos 4-5)
├── Módulo 4: Generación de Imágenes
└── Módulo 5: Procesamiento de Audio
Phase 3: RAG, Casos de Uso y Proyecto (Módulos 6-8)
├── Módulo 6: RAG Multimodal
├── Módulo 7: Casos de Uso
└── Módulo 8: Proyecto Final — Document Analyzer Multimodal
Conexión con el módulo anterior
En el Módulo 1 aprendiste a clasificar inputs por modalidad y sugerir el modelo óptimo. Ahora vas a implementar la rama de visión de ese clasificador: dado que el input es una imagen, ¿qué proveedor uso? ¿Cómo envío la imagen? ¿Qué prompt diseño? ¿Cómo manejo errores?
Tu Clasificador del Módulo 1 detectaba modalidades. Tu Image Analyzer del Módulo 2 ejecuta la modalidad de visión con los tres proveedores principales.
Roadmap del Módulo 2
| # | Cápsula | Qué aprenderás | Tipo |
|---|---|---|---|
| 01 | Introducción (esta) | Vision en LLMs, proveedores, casos de uso, setup | Intro |
| 02 | GPT-4 Vision (OpenAI) | API de vision, formatos de imagen, prompts visuales | Técnica |
| 03 | Claude 3 Vision (Anthropic) | API de Claude, diferencias con GPT-4V, media types | Técnica |
| 04 | Gemini Vision (Google) | API de Gemini, capacidades nativas, tier gratuito | Técnica |
| 05 | Comparación de proveedores | Benchmark: costo, calidad, latencia, cuándo usar cada uno | Técnica |
| 06 | Patrones de análisis | Descripción, OCR, clasificación, extracción estructurada | Técnica |
| 07 | Multi-image y context | Múltiples imágenes en un prompt, contexto visual | Técnica |
| 08 | Proyecto: Image Analyzer | Analizador multi-provider con fallback automático | Proyecto |
Flujo de aprendizaje
Primero dominarás cada proveedor de forma individual (cápsulas 02-04): su API, sus formatos, sus particularidades. Después los compararás con métricas concretas (cápsula 05). Luego aprenderás patrones de análisis que aplican a cualquier proveedor (cápsula 06) y técnicas avanzadas con múltiples imágenes (cápsula 07). Finalmente integrarás todo en el Image Analyzer (cápsula 08).
La progresión es: proveedor individual → comparación → patrones → técnicas avanzadas → proyecto.
Duración estimada del módulo: 50 minutos.
Qué Aprenderás
Objetivos técnicos
Al terminar este módulo serás capaz de:
- Enviar imágenes a GPT-4 Vision, Claude 3 y Gemini usando sus respectivas APIs con código Python funcional
- Comparar proveedores con criterios medibles: costo por imagen, calidad de OCR, latencia de respuesta, formatos soportados
- Aplicar patrones de análisis visual: descripción detallada, extracción de texto (OCR), clasificación de contenido, extracción de datos estructurados
- Enviar múltiples imágenes en un solo request para análisis comparativo o contextual
- Diseñar prompts para vision que controlen el nivel de detalle, el formato de respuesta y el enfoque del análisis
- Implementar un Image Analyzer con fallback automático entre proveedores: si GPT-4V falla, intenta Claude 3; si Claude falla, intenta Gemini
Objetivo profesional
Cuando alguien te diga "necesitamos que el sistema analice fotos de productos para generar descripciones automáticas", tú sabrás: qué proveedor usar según el volumen y presupuesto, cómo enviar las imágenes (Base64 vs URL), qué prompt diseñar para obtener descripciones consistentes, y cómo implementar un fallback para que el sistema no se caiga si un proveedor tiene downtime.
Contexto: La Era de Vision en LLMs
De texto-only a visión
Durante 2020-2022, los LLMs eran exclusivamente textuales. GPT-3, ChatGPT original, Claude 1 — todos procesaban texto como input y generaban texto como output. Si necesitabas analizar una imagen, usabas pipelines separados: OpenCV para procesamiento, YOLO para detección de objetos, Tesseract para OCR. Cada uno requería setup específico, modelos distintos, y ninguno "entendía" el contexto semántico de la imagen.
2020-2022 (era texto-only):
Analizar imagen de factura →
1. Tesseract para OCR (extraer texto)
2. Regex para parsear campos (fecha, total)
3. LLM para clasificar el tipo de factura
= 3 herramientas, 3 puntos de fallo, sin comprensión contextual
2023-2024 (era vision):
Analizar imagen de factura →
1. GPT-4 Vision: "Extrae fecha, total, proveedor de esta factura"
= 1 llamada API, comprensión contextual completa
El punto de inflexión: 2023-2024
Tres eventos cambiaron el landscape:
-
Septiembre 2023 — GPT-4 Vision: OpenAI añadió capacidad de visión a GPT-4. Por primera vez, un LLM de propósito general podía "ver" imágenes y razonar sobre ellas con la misma profundidad que razonaba sobre texto.
-
Marzo 2024 — Claude 3: Anthropic lanzó Claude 3 (Haiku, Sonnet, Opus) con visión nativa. La competencia directa mejoró precios y calidad para todos.
-
Diciembre 2023 — Gemini: Google lanzó Gemini con capacidades multimodales nativas desde el diseño. No era un módulo añadido — el modelo fue entrenado para entender imágenes desde el inicio.
Por qué esto importa para ingenieros
Antes de 2023, integrar visión en una aplicación significaba:
- Mantener modelos de CV separados (YOLO, Tesseract, clasificadores custom)
- Entrenar o fine-tunear para cada dominio
- Manejar pipelines complejos con múltiples puntos de fallo
Después de 2023, integrar visión significa:
- Una llamada API con imagen + prompt
- Zero-shot: funciona sin entrenamiento específico para tu dominio
- El mismo modelo que ya usas para texto también entiende imágenes
El cambio no es solo técnico — es económico. Un pipeline de CV custom costaba semanas de desarrollo y mantenimiento. Una integración con GPT-4 Vision se implementa en horas y el proveedor mantiene el modelo.
El estado actual
En 2025-2026, los tres proveedores principales han madurado:
| Aspecto | GPT-4 Vision | Claude 3 | Gemini |
|---|---|---|---|
| Madurez | Alta | Alta | Alta |
| OCR | Excelente | Muy bueno | Excelente |
| Razonamiento visual | Excelente | Excelente | Muy bueno |
| Costo | Medio-alto | Medio | Bajo (tier gratis) |
| Ventana de contexto | 128K tokens | 200K tokens | 1M+ tokens |
| Multi-imagen | Sí | Sí | Sí (nativo) |
La competencia entre proveedores significa que los precios bajan, la calidad sube, y los formatos se estandarizan. Saber usar los tres te da flexibilidad para elegir según el caso.
Los Tres Proveedores
OpenAI — GPT-4 Vision
GPT-4 Vision (GPT-4V, GPT-4o) fue el primer LLM de propósito general con visión que alcanzó adopción masiva. Su fortaleza está en el razonamiento sobre contenido visual complejo: puede interpretar gráficos, leer texto en imágenes, describir escenas con detalle, y seguir instrucciones precisas sobre qué analizar.
Lo que trae:
- Mejor ecosistema de herramientas y documentación
- Dos niveles de detalle:
low(rápido, barato) yhigh(preciso, caro) - Integración nativa con el resto del ecosistema OpenAI (Assistants, function calling)
- El modelo más usado en producción para vision
Formato principal: Base64 o URL directa en el campo image_url del mensaje.
Anthropic — Claude 3 Vision
Claude 3 destaca en análisis detallado y seguimiento de instrucciones complejas. Donde GPT-4V puede ser conciso, Claude tiende a dar análisis más exhaustivos. Su ventana de contexto de 200K tokens permite enviar muchas imágenes en un solo request.
Lo que trae:
- Análisis más detallado y estructurado por defecto
- Mejor seguimiento de formatos de respuesta específicos (JSON, tablas)
- Tres tiers: Haiku (rápido/barato), Sonnet (balance), Opus (máxima calidad)
- Excelente para documentos con layouts complejos
Formato principal: Base64 con media_type explícito en el bloque image del contenido.
Google — Gemini Vision
Gemini fue diseñado como multimodal desde su arquitectura. No es un modelo de texto al que le añadieron visión — procesa texto e imágenes de forma nativa. Su ventaja principal es la ventana de contexto masiva (1M+ tokens) y un tier gratuito generoso.
Lo que trae:
- Tier gratuito para experimentación (Gemini Flash)
- Ventana de contexto de 1M+ tokens para análisis de muchas imágenes
- Procesamiento nativo de imágenes (no como módulo añadido)
- Buena relación calidad/precio en el tier de pago
Formato principal: Objetos Part con imágenes como inline_data o file_data.
Casos de Uso Reales
1. Análisis documental
El caso más demandado en producción. Empresas procesan miles de facturas, recibos, contratos y formularios diariamente. Un LLM con visión puede extraer campos estructurados (fecha, total, proveedor, líneas de detalle) de una imagen o scan sin necesidad de templates OCR específicos por tipo de documento.
Ejemplo real: Una fintech procesa 10,000 recibos/día. Antes: pipeline de Tesseract + regex con 78% de accuracy. Después: GPT-4 Vision con prompt estructurado y 95% de accuracy, sin mantenimiento de templates.
2. Descripción de productos (e-commerce)
Plataformas de e-commerce generan descripciones automáticas a partir de fotos de productos. El modelo ve la imagen, identifica el producto, sus características, colores, materiales, y genera una descripción optimizada para SEO.
Ejemplo real: Un marketplace con 50,000 productos nuevos/mes. Los vendedores suben fotos y el sistema genera título, descripción, categoría y tags automáticamente.
3. Accesibilidad
Los LLMs con visión pueden describir imágenes para personas con discapacidad visual. A diferencia de alt-text genérico, un LLM genera descripciones contextuales: no solo "una persona en un parque" sino "una mujer joven leyendo un libro en un banco de parque, con un perro golden retriever a sus pies, en un día soleado de otoño".
4. Control de calidad
Manufactura e inspección visual: el modelo analiza fotos de productos en línea de producción y detecta defectos, desalineamientos, o componentes faltantes. No reemplaza sistemas de CV industrial especializados, pero funciona como primer filtro o como solución para volúmenes bajos donde un sistema custom no se justifica.
5. Análisis médico básico
Los LLMs con visión pueden describir imágenes médicas (radiografías, fotos dermatológicas) como herramienta de pre-screening. No reemplazan diagnóstico profesional, pero pueden priorizar casos o generar reportes iniciales que un médico revisa.
Nota importante: Este caso de uso requiere consideraciones éticas y regulatorias que están fuera del alcance de esta guía. Lo mencionamos porque es real y creciente, no porque lo implementaremos.
6. Seguridad y vigilancia
Análisis de frames de cámaras de seguridad: detección de anomalías, identificación de objetos, descripción de escenas. Un LLM con visión puede responder "¿hay alguien en esta imagen?" o "describe qué está pasando en esta escena" sin necesidad de un modelo de detección de objetos entrenado específicamente.
Prerrequisitos
Lo que necesitas del Módulo 1
Este módulo asume que completaste el Módulo 1 y manejas:
- Concepto de modalidades: Sabes qué es visión (imagen → texto) y cómo se diferencia de otras modalidades
- Base64: Entiendes por qué las imágenes se codifican en Base64 para enviarlas por API y cómo hacerlo
- API keys: Tienes configuradas tus keys de al menos OpenAI; idealmente también Anthropic y Google
- Estimación de costos: Sabes que las llamadas con imágenes cuestan más que texto-only y cómo calcular el costo aproximado
- Formatos de input: Conoces la diferencia entre enviar una imagen como Base64 vs URL
Si no completaste el Módulo 1
Puedes continuar si tienes experiencia previa con APIs de LLMs y Python. Los conceptos críticos que necesitas:
| Concepto | Por qué lo necesitas | Dónde aprenderlo |
|---|---|---|
| Base64 encoding | Todas las APIs de vision aceptan imágenes en Base64 | Módulo 1, Cápsula 06 |
| API keys y .env | Vas a usar 3 proveedores distintos | Módulo 1, Setup Técnico |
| Costos por token | Las imágenes consumen muchos tokens | Módulo 1, Cápsula 06 |
| Prompt design | Los prompts de vision tienen estructura específica | Módulo 1, Cápsulas 02-03 |
Setup Técnico
Dependencias
Este módulo requiere los SDKs de los tres proveedores principales:
pip install openai>=1.0.0 anthropic>=0.25.0 google-generativeai>=0.5.0 python-dotenv pillow
| Paquete | Para qué |
|---|---|
openai | GPT-4 Vision API |
anthropic | Claude 3 Vision API |
google-generativeai | Gemini Vision API |
python-dotenv | Cargar API keys desde .env |
pillow | Manipulación de imágenes (resize, formato) |
Variables de entorno
Crea o actualiza tu archivo .env con las tres API keys:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AI...
Script de verificación
Ejecuta este script para confirmar que los tres proveedores están configurados y responden:
import os
import sys
from dotenv import load_dotenv
load_dotenv()
providers = {
"OpenAI": os.getenv("OPENAI_API_KEY"),
"Anthropic": os.getenv("ANTHROPIC_API_KEY"),
"Google": os.getenv("GOOGLE_API_KEY"),
}
print("=" * 50)
print("Verificación de proveedores — Módulo 2")
print("=" * 50)
results = {}
for name, key in providers.items():
if not key:
print(f"\n❌ {name}: API key no encontrada en .env")
results[name] = False
continue
try:
if name == "OpenAI":
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Responde solo OK"}],
max_tokens=5,
)
print(f"\n✅ {name}: {response.choices[0].message.content}")
results[name] = True
elif name == "Anthropic":
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-haiku-20240307",
max_tokens=5,
messages=[{"role": "user", "content": "Responde solo OK"}],
)
print(f"\n✅ {name}: {response.content[0].text}")
results[name] = True
elif name == "Google":
import google.generativeai as genai
genai.configure(api_key=key)
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Responde solo OK")
print(f"\n✅ {name}: {response.text.strip()}")
results[name] = True
except Exception as e:
print(f"\n❌ {name}: Error — {e}")
results[name] = False
print("\n" + "=" * 50)
active = sum(1 for v in results.values() if v)
print(f"Resultado: {active}/3 proveedores activos")
if active == 0:
print("⚠️ Necesitas al menos 1 proveedor para continuar.")
sys.exit(1)
elif active < 3:
print("⚠️ Puedes continuar, pero algunas cápsulas requieren los 3.")
else:
print("✅ Setup completo. Listo para el Módulo 2.")
Output esperado (con los 3 proveedores):
==================================================
Verificación de proveedores — Módulo 2
==================================================
✅ OpenAI: OK
✅ Anthropic: OK
✅ Google: OK
==================================================
Resultado: 3/3 proveedores activos
✅ Setup completo. Listo para el Módulo 2.
Costos estimados para este módulo
| Proveedor | Modelo | Costo por imagen (~) | Estimado módulo completo |
|---|---|---|---|
| OpenAI | gpt-4o (high detail) | $0.01-0.03 | $1.00-2.00 |
| OpenAI | gpt-4o-mini | $0.002-0.005 | $0.20-0.50 |
| Anthropic | claude-3-haiku | $0.001-0.003 | $0.10-0.30 |
| Anthropic | claude-3-sonnet | $0.005-0.015 | $0.50-1.50 |
| gemini-1.5-flash | Gratis (tier free) | $0.00 | |
| gemini-1.5-pro | $0.003-0.01 | $0.30-1.00 |
Estrategia de costos: Usa gpt-4o-mini y gemini-1.5-flash para desarrollo y experimentación. Reserva gpt-4o (high detail) y claude-3-sonnet para las comparaciones de calidad en la cápsula 05.
Estructura de archivos para el módulo
module_02/
├── 01_verify_setup.py # Script de verificación (arriba)
├── 02_gpt4_vision.py # Ejercicios GPT-4V
├── 03_claude_vision.py # Ejercicios Claude 3
├── 04_gemini_vision.py # Ejercicios Gemini
├── 05_comparison.py # Benchmark comparativo
├── 06_analysis_patterns.py # Patrones: OCR, descripción, etc.
├── 07_multi_image.py # Multi-imagen
├── 08_image_analyzer.py # Proyecto final del módulo
└── images/
├── test_photo.jpg # Foto de prueba general
├── test_document.png # Documento/factura de prueba
└── test_product.jpg # Producto para descripción
Límites: Qué NO Cubre Este Módulo
- ❌ Fine-tuning de modelos de visión — Usamos modelos pre-entrenados vía API. No entrenamos ni fine-tuneamos modelos custom de vision.
- ❌ Computer vision clásica — No cubrimos OpenCV, YOLO, ni técnicas de CV tradicional. El enfoque es LLMs con visión.
- ❌ Análisis de video en profundidad — Mencionaremos extracción de frames, pero el análisis de video completo se cubre en módulos posteriores.
- ❌ Modelos open-source de visión — Nos enfocamos en las tres APIs cloud principales. No deployamos LLaVA, Qwen-VL, ni otros modelos locales.
- ❌ Generación de imágenes — Este módulo es sobre análisis de imágenes (imagen → texto). La generación (texto → imagen) se cubre en el Módulo 4.
Evidencia de Éxito
Al terminar este módulo, sabrás que tuviste éxito si:
- ✅ Puedes enviar una imagen a GPT-4 Vision, Claude 3 y Gemini con código Python funcional
- ✅ Dado un caso de uso ("necesito extraer texto de recibos"), eliges el proveedor óptimo y justificas por qué
- ✅ Conoces las diferencias de formato entre los tres proveedores (cómo cada uno recibe imágenes)
- ✅ Puedes aplicar al menos 3 patrones de análisis: descripción, OCR, clasificación
- ✅ Sabes enviar múltiples imágenes en un solo request y diseñar prompts que las comparen
- ✅ Tu Image Analyzer funciona: recibe una imagen, la analiza con un proveedor, y si falla, intenta el siguiente
Test rápido de autoevaluación
Si puedes responder estas preguntas, vas por buen camino:
- ¿Cuál es la diferencia en cómo OpenAI, Anthropic y Google reciben imágenes en su API?
- ¿En qué caso elegirías Claude 3 sobre GPT-4V para análisis de documentos?
- ¿Por qué Gemini es buena opción para prototipar y experimentar?
- ¿Qué significa "high detail" vs "low detail" en GPT-4 Vision y cómo afecta el costo?
- ¿Cómo implementarías un fallback si tu proveedor principal tiene un rate limit error?
Resumen
- Los LLMs con visión transformaron el análisis de imágenes: de pipelines de CV complejos a una llamada API con imagen + prompt.
- 2023-2024 fue el punto de inflexión: GPT-4 Vision, Claude 3 y Gemini llevaron vision a producción masiva.
- Los tres proveedores principales tienen fortalezas distintas: OpenAI en ecosistema, Anthropic en análisis detallado, Google en costo y ventana de contexto.
- Los casos de uso reales incluyen: análisis documental, e-commerce, accesibilidad, control de calidad, y más.
- Este módulo cubre las APIs de los tres proveedores, patrones de análisis, multi-imagen, y culmina en un Image Analyzer multi-provider con fallback.
- Necesitas los tres SDKs instalados (
openai,anthropic,google-generativeai) y las API keys configuradas.
Recursos Adicionales
- OpenAI Vision Guide — Documentación oficial de GPT-4 Vision
- Anthropic Vision Docs — Claude 3 con imágenes
- Google Gemini Vision — Gemini multimodal y vision
- OpenAI Pricing — Precios actualizados de GPT-4V
- Anthropic Pricing — Precios de Claude 3 por tier
- Google AI Pricing — Tiers gratuitos y de pago de Gemini