Si alguna vez intentaste extraer datos estructurados de un formulario escaneado, una tabla con celdas combinadas, o un PDF con texto manuscrito mezclado con texto impreso, ya sabés lo que es el OCR tradicional en producción: pipelines frágiles, hacks de post-procesamiento, y documentos que simplemente rompen todo.
Chandra 2 es un modelo de OCR open source de Datalab — el mismo equipo detrás de Marker y Surya — que adopta un enfoque diferente. En lugar de dividir las páginas en bloques y correr inferencia sobre cada pieza por separado, decodifica la página completa de una sola vez. El resultado es un modelo que maneja layout, tablas, formularios, texto manuscrito, matemáticas y contenido multilingüe como una salida unificada en Markdown, HTML o JSON.
Acaba de alcanzar estado del arte en el benchmark olmOCR con un score de 85.9% — por encima de GPT-4o, Gemini Flash 2, Mistral OCR y DeepSeek OCR. Y con 4B de parámetros (bajando de los 9B de Chandra 1), además es más rápido.
Qué genera como output
Pasás un PDF o una imagen. Obtenés:
- Markdown estructurado con encabezados, tablas y listas correctamente formateados
- Tipos de bloques de layout: tabla, formulario, figura, ecuación, bloque de código, nota al pie, imagen con caption
- Diagramas de flujo convertidos a formato Mermaid
- Gráficos extraídos como datos estructurados (valores, etiquetas de ejes, categorías)
- Matemáticas en LaTeX
Para quienes construyen pipelines RAG, flujos de document ingestion, o automatizaciones, este es el formato que realmente necesitás — no texto plano con espacios en blanco rotos.
Las tres formas de usarlo
Acá está lo práctico. Tenés tres opciones según tu setup y escala:
Opción 1: API hosted (el camino más rápido)
La opción más simple. Datalab corre la inferencia, vos llamás la API. Incluye $5 de créditos gratuitos para empezar, luego pago por uso. No necesitás GPU. Ideal para: prototipar, volúmenes bajos o medios, o cuando no querés gestionar infraestructura.
pip install datalab-sdk
Opción 2: vLLM local (recomendado para producción)
Corrés el modelo en tu propia GPU con vLLM como backend de inferencia. Instalación más liviana que HuggingFace, mejor throughput, y más fácil de containerizar. Es el camino recomendado para equipos que necesitan privacidad de datos o costos predecibles a escala.
pip install chandra-ocr
chandra_vllm # levanta el servidor vLLM
chandra input.pdf ./output
Configuración vía variables de entorno:
MODEL_CHECKPOINT=datalab-to/chandra-ocr-2
VLLM_API_BASE=http://localhost:8000/v1
VLLM_GPUS=0
En una H100, podés llegar a 4 páginas por segundo — alrededor de 345.000 páginas por día.
Opción 3: HuggingFace backend (máximo control)
Usa transformers directamente. Más dependencias (torch, se recomienda flash attention), pero te da el mayor control sobre la inferencia, el batching y la integración con pipelines ML existentes.
pip install chandra-ocr[hf]
chandra input.pdf ./output --method hf
Y por código:
from chandra.model import InferenceManager
from chandra.model.schema import BatchInputItem
from PIL import Image
manager = InferenceManager(method="vllm")
batch = [BatchInputItem(image=Image.open("doc.png"), prompt_type="ocr_layout")]
result = manager.generate(batch)[0]
print(result.markdown)
Licencia: lo que necesitás saber
El código es Apache 2.0 — completamente abierto. Los pesos del modelo usan una licencia OpenRAIL-M modificada: gratis para investigación, uso personal, y startups con menos de $2M en financiamiento o ingresos. Por encima de ese umbral, necesitás una licencia comercial. Si estás construyendo un producto que compite directamente con la API hosted de Datalab, los pesos abiertos no son una opción independientemente del tamaño de tu empresa.
Cuándo usarlo
Chandra brilla en documentos donde el layout importa: reportes anuales, formularios gubernamentales, facturas, papers académicos con ecuaciones, documentos históricos, cualquier cosa con tablas que ocupen múltiples columnas. Para PDFs simples con solo texto, Marker es más rápido y liviano. Para documentos enterprise estructurados, Chandra es la herramienta.
El soporte multilingüe también vale destacar para la región — Chandra 2 cubre 90 idiomas con mejoras significativas en scripts del Sur Asiático. El rendimiento en español es sólido a lo largo de todo el benchmark.
¿Estás construyendo pipelines de document ingestion o RAG? ¿Qué tipo de documentos son los que más te cuestan procesar hoy? Contanos en los comentarios.
Recursos:
