Módulo 3: Comprensión de Documentos
1. Introducción: Documentos como Input
Descripción
Este módulo profundiza en la comprensión de documentos: cómo procesar PDFs, imágenes escaneadas y documentos mixtos para extraer texto, datos estructurados y responder preguntas. Los documentos son el input más común en sistemas empresariales: facturas, contratos, manuales, informes. No basta con "enviar una imagen al LLM" — hay que dominar el pipeline completo: extracción de texto, OCR, conversión a imágenes, schemas estructurados y manejo de documentos largos.
Por qué importa: El Document Extractor que construirás aquí es el núcleo del Document Analyzer del Módulo 8. Todo lo que aprendas (PyMuPDF, pdf2image, OCR vs vision, Pydantic) se integra en el proyecto final.
Este módulo no es una lista de librerías. Es un sistema de pensamiento: dado un documento arbitrario, ¿cuál es la ruta óptima para extraer lo que necesitas? Esa decisión depende de si el PDF tiene texto embebido, si es un escaneo, si necesitas datos estructurados o texto libre, si el documento tiene 2 páginas o 200. Aquí aprendes a tomar esa decisión y a implementarla.
¿Dónde Estamos en la Guía?
Contexto
Esta guía tiene 8 módulos organizados en 3 fases:
Phase 1: Fundamentos Multimodales (Módulos 1-3)
├── Módulo 1: Introducción a IA Multimodal
├── Módulo 2: Vision + LLMs
└── Módulo 3: Comprensión de Documentos ← ESTÁS AQUÍ
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
¿Hacia dónde vamos?
Con los fundamentos multimodales (Módulo 1) y vision (Módulo 2), ahora atacas el caso de uso más demandado en producción: documentos. Las empresas no procesan imágenes aleatorias — procesan facturas, contratos, reportes, formularios. Este módulo convierte lo que aprendiste de Vision APIs en un pipeline documental completo.
La progresión es deliberada:
- Módulo 1 te dio el landscape — qué modalidades existen, qué modelos las soportan
- Módulo 2 te dio vision — enviar imágenes a GPT-4V, Claude 3, Gemini
- Módulo 3 (este) aplica vision a documentos reales — con técnicas adicionales: extracción de texto, OCR, schemas Pydantic
- Módulos 4-8 construyen sobre esta base — generación, audio, RAG, proyecto final
Qué es Comprensión de Documentos
Definición
Comprensión documental es el proceso de tomar documentos (PDFs, imágenes escaneadas, capturas) y extraer información útil: texto plano, datos estructurados (fecha, total, proveedor), o respuestas a preguntas. Combina técnicas clásicas (extracción de texto de PDFs, OCR con Tesseract) con modelos de visión (GPT-4 Vision, Claude 3) para máxima calidad.
No es un problema nuevo. Lo que cambió es cómo se resuelve: antes necesitabas reglas hardcodeadas por tipo de documento; ahora un LLM con visión entiende el documento como un humano lo haría.
Los tres enfoques fundamentales
Existen tres caminos para extraer información de un documento. Cada uno tiene fortalezas, limitaciones y un rango de aplicación diferente:
Enfoque 1 — Extracción directa de texto (PyMuPDF)
PDF con texto embebido → PyMuPDF extrae texto → Texto plano listo para LLM
- Cuándo usarlo: El PDF fue generado digitalmente (Word, Google Docs, LaTeX). El texto es seleccionable con el cursor.
- Ventajas: Rápido (milisegundos), gratuito (sin API calls), preserva estructura de párrafos.
- Limitaciones: No funciona con PDFs escaneados. Pierde layout visual (columnas, tablas complejas). No captura información en imágenes dentro del PDF.
- Calidad típica: 95-99% para PDFs digitales bien formateados.
Enfoque 2 — OCR tradicional (Tesseract)
Imagen/escaneo → Tesseract detecta caracteres → Texto plano (con posibles errores)
- Cuándo usarlo: Documentos escaneados donde necesitas texto rápido y barato, sin depender de una API externa.
- Ventajas: Open-source, funciona offline, soporta 100+ idiomas, sin costo por llamada.
- Limitaciones: Calidad variable con documentos de baja resolución, escritura a mano, o layouts complejos. No "entiende" el contenido — solo convierte píxeles a caracteres.
- Calidad típica: 80-95% dependiendo de la calidad del escaneo.
Enfoque 3 — Vision API (GPT-4V, Claude 3)
Imagen de página → Vision API "ve" el documento → Texto + comprensión semántica
- Cuándo usarlo: Necesitas comprensión del contenido (no solo texto plano). Documentos complejos con tablas, gráficos, layouts irregulares. Cuando necesitas responder preguntas sobre el documento.
- Ventajas: Entiende contexto visual, maneja tablas y layouts complejos, puede extraer datos estructurados directamente, funciona con cualquier tipo de documento.
- Limitaciones: Costo por llamada ($0.01-0.05 por página), latencia (2-10 segundos por página), límites de tokens, requiere conexión a internet.
- Calidad típica: 90-99% — superior a OCR en documentos complejos.
Matriz de decisión
| Escenario | Enfoque recomendado | Razón |
|---|---|---|
| PDF digital, solo texto | Extracción directa | Rápido, gratuito, alta calidad |
| Factura escaneada, datos estructurados | Vision API | Entiende layout, extrae campos |
| 500 páginas de archivo histórico | OCR + LLM post-proceso | Costo prohibitivo con Vision API |
| Formulario con escritura a mano | Vision API | OCR falla con manuscrito |
| PDF mixto (texto + tablas + imágenes) | Extracción + Vision API | Combina lo mejor de ambos |
| Procesamiento offline/air-gapped | OCR (Tesseract) | Sin dependencia de APIs cloud |
Tipos de documentos
| Tipo | Características | Enfoque principal |
|---|---|---|
| PDF con texto | Texto seleccionable, vectorizado | Extracción directa (PyMuPDF) |
| PDF escaneado | Solo imágenes por página | OCR o Vision API |
| Imagen de documento | JPG/PNG de factura, formulario | Vision API o Tesseract |
| Documento mixto | Texto + tablas + figuras | Combinar extracción + vision |
| Documento largo | 50+ páginas | Chunking, resumen por secciones |
Contexto: Del Papel al Pipeline
La evolución del procesamiento documental
El procesamiento de documentos no nació con los LLMs. Tiene décadas de historia, y cada era trajo herramientas nuevas:
Era 1 — Manual (pre-2000):
Humanos leen documentos y transcriben datos a mano
Archivistas, data entry operators, burocracia literal
Velocidad: ~5 documentos/hora por persona
Error humano: ~2-5%
Era 2 — OCR clásico (2000-2020):
Tesseract, ABBYY, Adobe Acrobat OCR
Convierte imágenes a texto con algoritmos de reconocimiento de caracteres
Velocidad: ~100 documentos/hora
Requiere post-procesamiento: el OCR genera texto sucio que necesitas limpiar
Reglas hardcodeadas por tipo de documento
Era 3 — LLM + Vision (2023-presente):
GPT-4 Vision, Claude 3, Gemini
El modelo "ve" el documento como un humano
Extrae datos estructurados en una sola llamada
Velocidad: ~360 documentos/hora (10 seg/página con Vision API)
Entiende contexto: no solo lee caracteres, comprende significado
Por qué 2023-2024 cambió todo
Antes de GPT-4 Vision (marzo 2023), procesar un documento complejo requería:
- Detectar el tipo de documento (PDF, imagen, escaneo)
- Aplicar OCR con Tesseract
- Limpiar el texto resultante con regex y heurísticas
- Escribir parsers específicos por tipo de documento (un parser para facturas, otro para contratos)
- Mantener esos parsers cuando cambiaba el formato
Ese pipeline tenía semanas de desarrollo por tipo de documento y era frágil — si el proveedor cambiaba el layout de su factura, el parser se rompía.
Con Vision APIs, el pipeline se simplificó:
- Convertir el documento a imagen
- Enviar la imagen al modelo con un prompt describiendo qué extraer
- Recibir datos estructurados
De semanas de desarrollo a horas. De parsers frágiles a prompts adaptables. De mantenimiento constante a zero-maintenance (el modelo se adapta a cambios de layout).
Lo que NO reemplazaron las Vision APIs
Las Vision APIs no eliminaron la necesidad de las herramientas clásicas:
- PyMuPDF sigue siendo la opción correcta para PDFs con texto embebido (más rápido y barato que Vision)
- Tesseract sigue siendo útil para procesamiento masivo offline donde el costo de Vision API es prohibitivo
- Pydantic se volvió más importante, no menos — necesitas validar que la extracción del LLM tenga el formato correcto
El developer moderno no elige una herramienta — construye un pipeline que usa la herramienta correcta en cada paso.
Por Qué Importa la Comprensión Documental
Casos de uso reales
1. Extracción de facturas (Finanzas)
Automatizar la entrada de datos desde facturas escaneadas: fecha, proveedor, total, ítems, impuestos, número de factura. Empresas como Stripe, DocuSign y bancos procesan millones de facturas/mes con pipelines similares.
- Antes: Un operador tarda ~5 minutos por factura. 10,000 facturas/mes = 833 horas de trabajo.
- Después: Vision API + Pydantic extrae datos en
10 segundos por factura. 10,000 facturas = 28 horas de cómputo ($100-500 en API costs). - ROI típico: 90%+ reducción en tiempo de procesamiento.
2. Q&A sobre manuales técnicos (Soporte)
"¿Cómo se configura el modo X?" — el sistema busca en el manual de 200 páginas y responde con la sección relevante. Usado en soporte técnico, onboarding, documentación interna.
- Antes: Buscar en PDF con Ctrl+F, leer contexto, interpretar. ~3-5 minutos por pregunta.
- Después: Chunking del manual + embeddings + LLM. Respuesta en ~5 segundos.
3. Análisis de contratos (Legal)
Extraer cláusulas, fechas, partes involucradas, montos, penalizaciones. Despachos legales y departamentos de compliance revisan cientos de contratos.
- Impacto: De 30 minutos de lectura por contrato a extracción automática de campos clave en segundos. El abogado revisa el output en lugar de leer el documento completo.
4. Procesamiento de formularios médicos (Salud)
Formularios de pacientes, recetas, resultados de laboratorio — frecuentemente escaneados o fotografiados. Datos sensibles que requieren precisión.
- Reto especial: Escritura a mano, terminología médica, regulaciones de privacidad (HIPAA).
- Solución: Vision API para manuscrito + validación estricta con Pydantic + procesamiento local cuando sea posible.
5. Indexación de archivos históricos (Gobierno/Academia)
Convertir documentos legacy (archivos escaneados de décadas) en texto buscable e indexable. Bibliotecas, archivos nacionales, universidades.
- Escala: Millones de páginas. OCR batch (Tesseract) para el volumen, Vision API para documentos problemáticos.
6. Procesamiento de recibos (Retail/Expenses)
Fotografiar un recibo → extraer merchant, fecha, total, categoría. Apps de gestión de gastos como Expensify, SAP Concur.
- Reto: Calidad variable (fotos con flash, arrugados, borrosos). Vision APIs manejan estos casos mejor que OCR clásico.
El Pipeline Documental en Detalle
Arquitectura completa
Este es el pipeline que construirás a lo largo del módulo. Cada cápsula cubre una o más etapas:
┌─────────────────────────────────────────────────────────────┐
│ PIPELINE DOCUMENTAL │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Document │───▶│ Type │───▶│ Text Extraction │ │
│ │ Input │ │ Detection │ │ (PyMuPDF) │ │
│ │ PDF/IMG │ │ │ │ OR │ │
│ └──────────┘ └──────────────┘ │ Image Conversion │ │
│ │ (pdf2image) │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ OCR (Tesseract) │ │
│ │ OR │ │
│ │ Vision API │ │
│ │ (GPT-4V/Claude) │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ LLM Processing │ │
│ │ Structured Output│ │
│ │ (Pydantic) │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Database / API │ │
│ │ Output │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Cada etapa explicada
1. Document Input — El documento llega como archivo: .pdf, .jpg, .png, .tiff. Puede venir de un upload, un email, un sistema de archivos, o una API.
2. Type Detection — ¿Es un PDF con texto embebido o un escaneo? ¿Es una imagen directa? Esta decisión determina el camino del pipeline.
import fitz # PyMuPDF
def detect_document_type(file_path: str) -> str:
if file_path.lower().endswith((".jpg", ".jpeg", ".png", ".tiff", ".bmp")):
return "image"
if file_path.lower().endswith(".pdf"):
doc = fitz.open(file_path)
text = doc[0].get_text().strip()
doc.close()
if len(text) > 50:
return "pdf_with_text"
return "pdf_scanned"
return "unknown"
3. Text Extraction (PyMuPDF) — Para PDFs con texto embebido, PyMuPDF extrae el texto directamente. Rápido, gratuito, alta fidelidad.
4. Image Conversion (pdf2image) — Para PDFs escaneados o cuando necesitas vision, conviertes cada página a imagen PNG/JPG.
5. OCR (Tesseract) o Vision API — Dependiendo del caso: Tesseract para volumen y costo bajo, Vision API para calidad y comprensión semántica.
6. LLM Processing + Structured Output — El texto extraído (o la imagen directamente) se envía al LLM con un prompt que describe qué datos extraer. Pydantic valida el output.
7. Database / API Output — Los datos estructurados se almacenan o se envían a otro sistema.
Mapeo de cápsulas al pipeline
| Etapa del pipeline | Cápsula |
|---|---|
| Type Detection | 02 (Procesamiento de PDFs) |
| Text Extraction (PyMuPDF) | 02 (Procesamiento de PDFs) |
| Image Conversion (pdf2image) | 04 (Imágenes de documentos) |
| OCR (Tesseract) | 03 (OCR + LLM) |
| Vision API | 03 (OCR + LLM), 04 (Imágenes de documentos) |
| Structured Output (Pydantic) | 05 (Extracción estructurada) |
| Documentos largos (Chunking) | 06 (Documentos largos) |
| Pipeline completo | 08 (Proyecto: Document Extractor) |
Roadmap del Módulo 3
| # | Cápsula | Qué verás |
|---|---|---|
| 01 | Introducción (esta) | Documentos como input, tipos, pipeline |
| 02 | Procesamiento de PDFs | PyMuPDF, pdf2image, extracción de texto e imágenes |
| 03 | OCR + LLM | Tesseract vs Vision API, cuándo usar cada uno |
| 04 | Imágenes de documentos | Convertir páginas a imagen, enviar a vision |
| 05 | Extracción estructurada | Schemas Pydantic, datos de invoices |
| 06 | Documentos largos | Chunking, resumen por secciones |
| 07 | Troubleshooting documentos | PDFs corruptos, baja calidad |
| 08 | Proyecto: Document Extractor | Extrae datos estructurados de PDFs/imágenes |
Duración estimada: 55 min para el módulo completo.
Objetivos del Módulo
Al terminar este módulo serás capaz de:
- Procesar PDFs y extraer texto e imágenes de páginas
- Decidir cuándo usar OCR tradicional (Tesseract) vs Vision API
- Convertir páginas de PDF a imágenes para vision
- Extraer datos estructurados con schemas Pydantic
- Manejar documentos largos (chunking, resumen por secciones)
- Resolver problemas comunes (PDFs corruptos, baja calidad)
- Construir un Document Extractor end-to-end como proyecto integrador
Objetivo profesional
Cuando alguien te diga "necesitamos automatizar el procesamiento de facturas", tú sabrás: ¿el PDF tiene texto o es escaneado? ¿Necesito OCR o Vision API? ¿Cómo valido el output con Pydantic? ¿Qué hago si el documento tiene 100 páginas? ¿Cuánto cuesta procesarlo? Ese nivel de criterio técnico es lo que este módulo te da.
Prerrequisitos de los Módulos 1-2
Lo que ya deberías dominar
Este módulo asume que completaste los Módulos 1 y 2. Específicamente:
| Concepto | Dónde lo aprendiste | Por qué lo necesitas aquí |
|---|---|---|
| Base64 encoding | Módulo 1, Cápsula 06 | Enviar imágenes de páginas a Vision APIs |
| Vision APIs | Módulo 2, Cápsulas 02-05 | Analizar páginas de documentos con GPT-4V/Claude |
| Prompting para vision | Módulo 2, Cápsula 03 | Diseñar prompts que extraigan datos de documentos |
| Estimación de costos | Módulo 1, Cápsula 06 | Calcular costo de procesar N páginas con Vision |
| Manejo de errores de API | Módulo 1, Cápsula 07 | Rate limits, timeouts al procesar documentos |
| Formatos de imagen | Módulo 2, Cápsula 04 | Resolución y formato óptimo para páginas escaneadas |
Si algún concepto te genera duda, revisa los Módulos 1-2 antes de continuar.
Setup Técnico
Prerrequisitos
- Python 3.11+
- Cuenta OpenAI (para GPT-4 Vision)
- Opcional: Anthropic, Google AI
- Poppler instalado (requerido por pdf2image)
- Tesseract instalado (para OCR — opcional pero recomendado)
Instalación
pip install openai>=1.0.0 pymupdf pdf2image pillow pydantic python-dotenv
# Para OCR tradicional
pip install pytesseract
Dependencias del sistema
# macOS
brew install poppler tesseract
# Ubuntu/Debian
sudo apt-get install poppler-utils tesseract-ocr
# Windows: descargar Poppler y Tesseract desde sus releases oficiales
# Poppler: https://github.com/oschwartz10612/poppler-windows/releases
# Tesseract: https://github.com/UB-Mannheim/tesseract/wiki
Variables de entorno
export OPENAI_API_KEY="sk-..."
Script de verificación completo
Ejecuta este script para confirmar que todas las dependencias están instaladas correctamente. Además, genera un PDF de prueba que usarás en las cápsulas siguientes:
import sys
print("=" * 50)
print("VERIFICACIÓN DE SETUP — MÓDULO 3")
print("=" * 50)
errors = []
# 1. Python version
print(f"\n[1/6] Python: {sys.version}")
if sys.version_info < (3, 11):
errors.append("Python 3.11+ requerido")
# 2. PyMuPDF
try:
import fitz
print(f"[2/6] PyMuPDF: v{fitz.version[0]}")
except ImportError:
errors.append("PyMuPDF no instalado → pip install pymupdf")
# 3. pdf2image
try:
from pdf2image import convert_from_path
print("[3/6] pdf2image: OK")
except ImportError:
errors.append("pdf2image no instalado → pip install pdf2image")
# 4. Tesseract (opcional)
try:
import pytesseract
version = pytesseract.get_tesseract_version()
print(f"[4/6] Tesseract: v{version}")
except Exception:
print("[4/6] Tesseract: NO DISPONIBLE (opcional)")
# 5. Pydantic
try:
import pydantic
print(f"[5/6] Pydantic: v{pydantic.__version__}")
except ImportError:
errors.append("Pydantic no instalado → pip install pydantic")
# 6. OpenAI
try:
from openai import OpenAI
print("[6/6] OpenAI SDK: OK")
except ImportError:
errors.append("OpenAI no instalado → pip install openai>=1.0.0")
# Crear PDF de prueba
if not errors:
print("\n" + "-" * 50)
print("Creando PDF de prueba...")
doc = fitz.open()
page = doc.new_page()
text_content = (
"FACTURA #2024-001\n\n"
"Fecha: 2024-03-15\n"
"Proveedor: TechCorp S.A.\n"
"Cliente: Empresa ABC\n\n"
"Concepto Cantidad Precio\n"
"Licencia software 1 $500.00\n"
"Soporte técnico 3 meses $150.00\n"
"Consultoría 10 horas $1,000.00\n\n"
"Subtotal: $1,650.00\n"
"IVA (16%): $264.00\n"
"Total: $1,914.00"
)
page.insert_text((72, 72), text_content, fontsize=12)
doc.save("sample_invoice.pdf")
doc.close()
print("PDF creado: sample_invoice.pdf")
# Resultado
print("\n" + "=" * 50)
if errors:
print(f"ERRORES ({len(errors)}):")
for e in errors:
print(f" ✗ {e}")
print("\nResuelve los errores antes de continuar.")
else:
print("SETUP COMPLETO — Listo para el Módulo 3")
print("=" * 50)
Output esperado (todo OK):
==================================================
VERIFICACIÓN DE SETUP — MÓDULO 3
==================================================
[1/6] Python: 3.11.x
[2/6] PyMuPDF: v1.24.x
[3/6] pdf2image: OK
[4/6] Tesseract: v5.x.x
[5/6] Pydantic: v2.x.x
[6/6] OpenAI SDK: OK
--------------------------------------------------
Creando PDF de prueba...
PDF creado: sample_invoice.pdf
==================================================
SETUP COMPLETO — Listo para el Módulo 3
==================================================
Costos estimados del módulo
| Operación | Costo aproximado |
|---|---|
| Extracción de texto (PyMuPDF) | $0.00 (local) |
| OCR con Tesseract | $0.00 (local) |
| Vision API por página (gpt-4o-mini) | ~$0.01-0.02 |
| Vision API por página (gpt-4o) | ~$0.03-0.05 |
| Módulo completo (ejercicios + proyecto) | ~$0.50-2.00 |
Consejo: Usa PyMuPDF y Tesseract para desarrollo y pruebas. Reserva Vision API para cuando necesites calidad máxima o comprensión semántica.
Conexión con el Proyecto de la Guía
El Document Extractor (cápsula 08) es un sistema que recibe un PDF o imagen de documento y devuelve datos estructurados (ej. factura con fecha, total, ítems). Este componente se integra en el Document Analyzer del Módulo 8, que añade RAG para Q&A y TTS opcional.
Módulo 3: Document Extractor → extrae datos de PDFs/imágenes
↓
Módulo 8: Document Analyzer → usa extracción + RAG + TTS
Límites: Qué NO Cubre Este Módulo
- ❌ Generación de PDFs — Este módulo extrae datos DE documentos, no genera documentos nuevos. Para crear PDFs, usa ReportLab o WeasyPrint.
- ❌ Firmas digitales y criptografía — No cubrimos verificación de firmas, encriptación de PDFs ni certificados digitales.
- ❌ Form builders — No construimos formularios interactivos. Procesamos formularios existentes.
- ❌ Enterprise DMS (Document Management Systems) — No integramos con SharePoint, Alfresco o sistemas de gestión documental enterprise. Nos enfocamos en el pipeline de extracción.
- ❌ PDF editing — No modificamos PDFs existentes (agregar anotaciones, combinar páginas). Usamos PyMuPDF solo para lectura.
- ❌ Handwriting recognition avanzado — Cubrimos el caso básico con Vision API, pero no entrenamos modelos especializados en reconocimiento de manuscrito.
Evidencia de Éxito
Al terminar este módulo, sabrás que tuviste éxito si:
- ✅ Dado un PDF, puedes determinar si tiene texto embebido o es un escaneo, y elegir la ruta de procesamiento correcta
- ✅ Puedes extraer texto de un PDF digital con PyMuPDF en menos de 5 líneas de código
- ✅ Puedes convertir un PDF a imágenes con pdf2image y enviarlas a una Vision API
- ✅ Sabes cuándo usar Tesseract vs Vision API y puedes justificar la decisión con criterios de costo, calidad y latencia
- ✅ Puedes definir un schema Pydantic para una factura y validar que la extracción del LLM sea correcta
- ✅ Puedes procesar un documento de 50+ páginas con chunking sin exceder límites de tokens
- ✅ Tu Document Extractor funciona end-to-end: recibe un PDF, detecta el tipo, extrae datos estructurados
Test rápido de autoevaluación
Si puedes responder estas preguntas al terminar el módulo, vas por buen camino:
- ¿Cómo detectas si un PDF tiene texto embebido o es un escaneo?
- ¿Cuánto cuesta procesar 100 páginas con gpt-4o-mini vs Tesseract?
- ¿Qué pasa si el LLM devuelve un JSON con campos faltantes y tienes un schema Pydantic?
- ¿Cómo manejas un documento de 200 páginas que excede el límite de contexto del modelo?
Resumen
- Comprensión documental combina tres enfoques: extracción directa (PyMuPDF), OCR (Tesseract) y Vision APIs (GPT-4V, Claude 3).
- La evolución del procesamiento documental pasó de manual → OCR clásico → LLM + Vision, y 2023-2024 fue el punto de inflexión.
- Tipos de documentos: PDF con texto, escaneados, imágenes, mixtos, largos — cada uno tiene su ruta óptima.
- El pipeline completo: documento → detección de tipo → extracción/OCR/vision → LLM → Pydantic → output estructurado.
- Casos de uso reales: facturas, contratos, manuales, formularios médicos, archivos históricos — con impacto medible en tiempo y costo.
- Este módulo te prepara para el Document Analyzer del Módulo 8.
- Setup: PyMuPDF, pdf2image, Poppler, Tesseract, OpenAI, Pydantic.
Recursos adicionales
- PyMuPDF Documentation — Extracción de PDFs
- pdf2image — PDF a imágenes
- Tesseract OCR — OCR tradicional
- OpenAI Vision — Análisis con LLMs
- Pydantic — Schemas y validación
- Poppler — Herramientas PDF (requerido por pdf2image)
- pytesseract — Wrapper Python para Tesseract