OlmOCR
OlmOCR

OlmOCR

olmOCR es el sistema open source de AI2 para reconstruir documentos con GPU: convierte páginas PDF, PNG y JPEG en Markdown o texto de orden natural, incluidas tablas y fórmulas.

90

Views

0

Likes

Jan 2026

Added

github.com

Enlace del proyecto

Tags

olmOCRPDF a MarkdownOCR de documentosmodelo visión-lenguajeOCR de tablasAI2

Product Preview

A quick visual look at OlmOCR before you visit the official site.

Published 1/21/2026
OlmOCR screenshot

Editorial Review

About OlmOCR

olmOCR es el toolkit open source de AI2 para linearizar documentos. Renderiza cada página PDF como imagen y pide al modelo visión-lenguaje especializado olmOCR-2 que reconstruya texto, tablas y fórmulas LaTeX en un orden de lectura natural. Después valida metadatos YAML, reintenta páginas fallidas o giradas y escribe Markdown y Dolma JSONL. También acepta PNG y JPEG; resulta útil para corpus, escaneos históricos, búsqueda y preparación de RAG.

No es simplemente un lector de caracteres. El OCR convencional suele centrarse en caracteres y coordenadas; olmOCR también decide el orden entre columnas, elimina encabezados o pies repetidos y convierte una tabla visual en estructura textual. Eso produce material cómodo para un modelo de lenguaje, pero sigue siendo texto generado. Un párrafo fluido puede cambiar una cifra, una negación, una variable o la relación entre celdas. Hay que conservar el original, la imagen de página y la decisión de revisión.

Pipeline de olmOCR desde el renderizado y la reconstrucción VLM hasta la exportación y el control de calidad
Diagrama editorial basado en el pipeline oficial y las dimensiones de olmOCR-Bench. Representa un proceso verificable, no una cifra de precisión.

Qué ocurre realmente con cada página

EtapaComportamiento actualLímite de fallo
EntradaPDF, PNG y JPEG locales o en un workspaceCifrado, corrupción, tamaño extremo y falta de derechos requieren filtros separados
RenderCada página PDF se convierte en PNG acotado; puede corregirse la rotación en un reintentoTexto diminuto, desenfoque, compresión, daño o una proporción extrema reducen la evidencia
ReconstrucciónolmOCR-2 devuelve texto y estructura de orden natural a partir de la imagenEl VLM puede omitir, sustituir, normalizar o inventar contenido plausible
Validación/retrySe revisan límite de contexto, fin, YAML y señal de rotaciónUn esquema válido no demuestra fidelidad factual
ExportaciónSe concatenan páginas con spans en Dolma; Markdown es opcionalTablas, notas, títulos y omisiones entre páginas exigen control documental

La implementación actual procesa las páginas casi de forma independiente. Esto facilita paralelismo, reintentos y reanudación, pero no resuelve automáticamente relaciones entre páginas. Si la cabecera de una tabla está en la página anterior, dos salidas individualmente plausibles pueden formar un documento incorrecto. El identificador de página, hash original, lista de fallos y manifiesto deben viajar con la salida.

El proyecto sigue mantenido. En la revisión, la versión estable visible más reciente era v0.4.27, publicada el 12 de marzo de 2026. Versiones anteriores corrigieron colas largas, rotación automática y alucinaciones en documentos en blanco. La actividad es una buena señal, pero también razón para fijar una versión probada y no desplegar main sin regresión.

Anchoring: la frontera entre el método histórico y el modelo actual

El repositorio conserva anchor.py, capaz de extraer una cantidad limitada de texto PDF nativo mediante pdftotext, PDFium o pypdf. En enfoques anteriores, ese texto imperfecto acompañaba la imagen para ayudar al VLM. La CLI aún muestra --target_anchor_text_len, pero su ayuda dice que no se usa con modelos nuevos. El pipeline actual de main crea un prompt sin anchoring para olmOCR-2; pdftotext aparece principalmente como fallback cuando falla el modelo.

Por tanto, afirmar que “olmOCR usa anclas PDF” sin indicar versión es incorrecto. Anchoring es una técnica conservada y parte de la historia, no la evidencia de cada inferencia actual. Aun así, en PDF born-digital conviene ejecutar extracción nativa por separado y compararla. La coincidencia no es prueba absoluta; la diferencia sí genera una cola útil para revisar codificación, orden, omisiones o alucinación. Un escaneo de imagen puede no tener ancla utilizable.

Modelo, datos, benchmark y licencia

ComponenteAlcance verificadoInterpretación correcta
Mix originalEl primer paper describe 260.000 páginas de más de 100.000 PDF rastreados, con gráficos, manuscrito y escaneos malosLa diversidad no prueba calidad uniforme en todos los idiomas, archivos o formularios
olmOCR-2Modelo clase 7B derivado de Qwen2.5-VL-7B-Instruct; SFT más RL con recompensas de unit tests verificablesEl paper sitúa las mayores mejoras en matemáticas, tablas y multicolumna del benchmark inglés
olmOCR-BenchUnos 1.400 PDF de una página y más de 7.000 hechos comprobables para fórmulas, tablas, escaneos, headers, columnas y letra minúsculaCubre retos relevantes, no la distribución propia
Precisión numéricaLa model card recomienda FP8 para inferencia práctica y BF16 para seguir ajustandoLa etiqueta no promete calidad, throughput ni VRAM universales
LicenciaToolkit y pesos olmOCR-2 publicados usan Apache-2.0; también se citan Responsible Use Guidelines de AI2Revisar por separado derechos del documento, dependencias, avisos del modelo base y uso

No conviertas el leaderboard en una precisión universal. olmOCR-Bench es inglés, por página y basado en hechos normalizados. Puede revelar un signo cambiado que una distancia de edición apenas penaliza, pero no demuestra calidad en contratos españoles, facturas, formularios o historias clínicas. Esta página no inventa WER ni una cifra aplicable a todo.

El primer paper comunicó un experimento de coste y escala para su stack de 2025. Es un resultado histórico contextual, no un precio actual. GPU, dimensión de imagen, retries, versión y tarifa del proveedor varían. Mide coste por página aceptada, con fecha y configuración, incluyendo fallos, transferencia, almacenamiento y revisión humana.

Instalación, lotes locales e inferencia remota

python -m venv .venv
source .venv/bin/activate
pip install "olmocr[gpu]"
olmocr ./workspace --markdown --pdfs ./samples/report.pdf

olmocr ./workspace --markdown --workers 2 \
  --max_page_retries 3 --pdfs ./incoming/*.pdf

pip install olmocr
olmocr ./workspace --server https://inference.example/v1 \
  --api_key "$OLMOCR_API_KEY" \
  --model allenai/olmOCR-2-7B-1025-FP8 \
  --max_concurrent_requests 8 --markdown --pdfs ./incoming/*.pdf

Los metadatos actuales exigen Python 3.11 o superior. El extra GPU fija versiones concretas de Torch, Transformers y vLLM. El README describe un VLM clase 7B que requiere GPU. Que Transformers pueda cargar pesos teóricamente no autoriza a prometer una ruta CPU-only soportada. Hay que probar juntos driver CUDA, GPU, contenedor y lockfile.

La inferencia local puede mantener las páginas dentro de un entorno aprobado después de descargar pesos de forma controlada. Un servidor remoto compatible con OpenAI recibe las páginas renderizadas, no sólo vectores. Revisa TLS, identidad, región, logs de request, retención, DPA, alias de modelo y concurrencia; guarda la clave en un gestor de secretos. Usa el demo público únicamente con páginas abiertas o sintéticas hasta aprobar sus condiciones actuales.

DespliegueEncajeControlesRiesgo principal
Una GPU localPiloto sensible, cola moderadaFijar versión, limitar workers/VRAM, cifrar workspaceCompatibilidad CUDA y fallo de una máquina
Multi-GPU internoLotes grandes controladosWorkspace reanudable, paralelismo, manifiesto por páginaEl throughput también amplifica errores silenciosos
Servidor propio remotoInferencia compartida en red aprobadaTLS, identidad, cuotas, no registrar cuerposConcentración de documentos sensibles
API de terceroEvaluación rápida sin comprar GPUDPA, región, retención, precio y modeloFrontera de datos, tarifa y alias variables
Demo AI2Prueba cualitativa no sensibleSólo material público/sintéticoNo equivale a privacidad o SLA de producción

Flujo ejecutable de evaluación y aceptación

  1. Muestrea por modo de fallo. Incluye PDF digital, fotos, inclinación, escaneos antiguos, letra pequeña, columnas, fórmulas, tablas, manuscrito, mezcla de idiomas, blancos y documentos máximos.
  2. Crea hechos por página. Marca nombres, fechas, totales, negaciones, relaciones de celdas, fórmulas, frases obligatorias, header/footer prohibido y pares de orden.
  3. Ejecuta dos rutas independientes. Compara olmOCR con extracción PDF nativa, Tesseract u otro parser; envía diferencias a revisión.
  4. Cuenta omisión e invención por separado. Un signo menos o una frase inventada cambia el significado aunque altere pocos caracteres.
  5. Mide operación. Registra latencia, retries, páginas fallidas, pico VRAM, tokens y coste por página aceptada.
  6. Congela un manifiesto. Conserva hash, release, checkpoint, precisión, runtime, tamaño de render, retries y decisión humana.
  7. Escala tras un lote pequeño. Detén el trabajo si suben retries, faltan páginas o aparecen salidas anormalmente cortas.
  8. Verifica campos de alto riesgo. Cifras financieras, obligaciones, salud, identidad y fórmulas no deben publicarse automáticamente.
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e ".[bench]"
playwright install chromium
huggingface-cli download --repo-type dataset allenai/olmOCR-bench \
  --local-dir ./olmOCR-bench
python -m olmocr.bench.convert olmocr_pipeline --dir ./olmOCR-bench/bench_data
python -m olmocr.bench.benchmark --dir ./olmOCR-bench/bench_data

olmOCR-Bench es útil como puerta de regresión. Comprueba presencia y ausencia de texto, orden natural, relaciones de tabla y matemáticas renderizables como hechos binarios. El flujo oficial instala dependencias bench y Playwright Chromium. Consulta el README para elegir un runner compatible, convierte y después puntúa.

Añade un holdout privado. No reutilices como prueba independiente las mismas páginas que sirvieron para ajustar prompts o parámetros. Clasifica errores por hechos, estructura, orden, idioma, calidad de scan y operación. Para RAG, comprueba que cada chunk conserve enlace a página; para extracción, valida JSON o celdas, no sólo la estética de Markdown.

Tablas, fórmulas, escaneos, idiomas, privacidad y alucinaciones

Tablas y fórmulas son fortalezas explícitas, pero Markdown o LaTeX válido no garantiza semántica. Revisa totales, asociación fila-columna, celdas combinadas, superíndices, decimales, separadores, signos, unidades y variables. Una tabla más limpia puede haber normalizado un valor incorrectamente; conserva el enlace a la página.

Un scan degradado tiene un techo de evidencia. Ampliar no recupera tinta perdida y un VLM puede completar una palabra plausible por contexto. Etiqueta lo ilegible como incierto y no permitas que otro LLM lo ‘corrija’ sin fuente. Incluye páginas vacías, casi vacías, duplicadas, corruptas y texto que parezca una instrucción.

El benchmark oficial es inglés. Procesar páginas multilingües no demuestra calidad uniforme para español histórico, escritura vertical, RTL, caracteres raros o scripts mezclados. Cada idioma y clase de layout necesita set propio y revisor nativo. No extrapoles un score inglés.

‘Local’ debe cubrir caché del modelo, workspace S3, logs, crash dumps, backups y monitoring. Minimiza retención, cifra original y salida, aplica RBAC, redacta logs y fija borrado. Un endpoint remoto recibe evidencia completa de página y debe tratarse con la misma sensibilidad que el documento.

YAML parseable, finish_reason normal o retry exitoso son señales técnicas, no validación factual. Longitud anómala, frases prohibidas, cobertura de páginas, diferencias entre motores y reglas de campos críticos ayudan a priorizar, pero decisiones legales, médicas, financieras o científicas requieren revisión humana.

Comparación con Marker, Docling, Tesseract y Document AI cloud

OpciónCuándo elegirFortalezaCoste
olmOCRTexto natural para LLM/RAG con fórmulas, tablas y layout difícilMarkdown/texto limpio y DolmaOperación GPU/VLM, error generativo, poca estructura posicional
MarkerMuchos formatos, imágenes, JSON estructurado o modos CPU/MPS/híbridosMarkdown, JSON, HTML, chunks y bloquesModos distintos; licencia de pesos separada de código Apache
DoclingFramework amplio y representación documental unificadaJSON lossless, Markdown/HTML e integracionesStack configurable mayor; calidad depende del pipeline/OCR/VLM
TesseractOCR determinista, coordenadas, TSV/hOCR y muchos paquetes de idiomaTexto y formatos posicionalesLayout, tablas, fórmulas y orden requieren componentes extra
Cloud Document AIOCR gestionado, forms/KV, clasificación, splitting y SLAObjeto Document estructurado y procesadores especializadosCobro por uso, revisión de datos, schema y lock-in

Criterio editorial: olmOCR encaja mejor como reconstructor de páginas para flujos con modelos de lenguaje, no como transcripción archivística pixel a pixel. Si coordenadas, proveniencia determinista, campos de formulario o clasificación son requisitos duros, usa un parser/OCR estructurado o cloud processor como fuente primaria y olmOCR como segunda lectura.

La arquitectura más segura suele ser un router: extracción nativa para páginas digitales limpias, VLM para las visualmente complejas y humano para campos críticos o conflictos. Así se controla tanto el coste de GPU como la tendencia a confiar en Markdown fluido.

Preguntas frecuentes

¿olmOCR es Tesseract con un LLM?

No. Tesseract reconoce líneas y puede devolver coordenadas. olmOCR genera orden natural, tablas y fórmulas desde toda la página; entiende más layout, pero puede producir errores plausibles.

¿olmOCR-2 actual usa anchor text PDF?

El camino de nuevos modelos en main usa un prompt sin anchoring y la CLI marca esa longitud como no usada. El código de anclas y fallback pdftotext permanece y sirve para control independiente.

¿Puede funcionar sin cloud?

Sí, con pesos descargados y un entorno local NVIDIA GPU/vLLM compatible. Audita cachés, logs, workspace y backups. El modo servidor remoto transfiere páginas.

¿Conserva bounding boxes?

La salida principal es texto lineal con page spans, no un grafo de coordenadas por palabra. Para posición, elige Tesseract, Marker JSON, Docling o Document AI.

¿Son fiables tablas y fórmulas?

Son áreas objetivo, no garantías. Verifica totales, celdas, signos, variables, unidades y merges con la página original.

¿Qué idiomas soporta?

Puede procesar múltiples idiomas, pero el benchmark oficial es inglés. Evalúa cada idioma, script, dirección y layout por separado.

¿Cuánta VRAM necesita?

Es un modelo GPU clase 7B y AI2 recomienda FP8 para inferencia práctica, pero no publica una cifra universal para todos los runtimes, tamaños y concurrencias. Mide en el hardware final.

¿Puedo subir documentos confidenciales al demo?

No lo asumas. Hasta aprobar privacidad, retención y términos actuales, usa sólo material público o sintético; procesa lo confidencial en un entorno aprobado.

Fuentes revisadas

Revisión técnica independiente: 2026-08-20. Última versión estable visible: v0.4.27. Alias, dependencias, precios API y política del demo cambian; verifica fuentes fijadas y un test privado antes de producción.

Revisar OlmOCR en su fuente oficial

Abre el repositorio, la documentación o los recursos del modelo.

Abrir fuente oficial

Quick Info

Enlace del proyecto
github.com
Added
1/21/2026
Published
1/21/2026
Updated
9/7/2026

Share This Tool

Have an AI tool to share?

Submit it to AI Dreamhub

Get your product in front of people actively exploring AI tools.

Submit Your Tool
AnyGen

AnyGen

AnyGen es un workspace de IA para informes, documentos, presentaciones, análisis, planes y entregables profesionales.

AnyGenAI workspaceAI assistant
1220
Gamma App

Gamma App

Gamma es un espacio de trabajo asistido por IA para crear presentaciones, documentos, páginas web, publicaciones sociales y gráficos editables. Esta guía independiente cubre los modos de creación, los límites actuales del plan, las importaciones y exportaciones, el control de calidad de la marca y la accesibilidad, la verificación de datos, la publicación del sitio, la privacidad y las alternativas.

Gamma Apppresentaciones IAdiapositivas IA
1270
Read AI Digital Twin

Read AI Digital Twin

Read AI Digital Twin - work digital twin. A partir de fuentes oficiales y públicas fiables, esta ficha resume usos, fortalezas, límites y alternativas. Antes de adoptarlo conviene revisar precio, permisos, privacidad, disponibilidad y calidad real.

Read AIDigital TwinAI meeting assistant
810
Multica

Multica

Multica es un producto de IA de la categoría productivity, pensado para usuarios que quieren llevar flujos reales a producción.

productivityherramienta IA
1010