Chandra 2: OCR para Documentos que Quebram Tudo o Mais

Se você já tentou extrair dados estruturados de um formulário escaneado, uma tabela com células mescladas, ou um PDF com texto manuscrito misturado com texto impresso, já sabe o que é OCR tradicional em produção: pipelines frágeis, hacks de pós-processamento, e documentos que simplesmente quebram tudo.

Chandra 2 é um modelo de OCR open source do Datalab — o mesmo time por trás de Marker e Surya — que adota uma abordagem diferente. Em vez de dividir as páginas em blocos e rodar inferência em cada pedaço separadamente, decodifica a página completa de uma só vez. O resultado é um modelo que lida com layout, tabelas, formulários, texto manuscrito, matemática e conteúdo multilíngue como uma saída unificada em Markdown, HTML ou JSON.

Acaba de alcançar estado da arte no benchmark olmOCR com uma pontuação de 85,9% — acima de GPT-4o, Gemini Flash 2, Mistral OCR e DeepSeek OCR. E com 4B de parâmetros (reduzindo dos 9B do Chandra 1), também é mais rápido.

O que gera como output

Você passa um PDF ou uma imagem. Obtém:

  • Markdown estruturado com cabeçalhos, tabelas e listas corretamente formatados
  • Tipos de blocos de layout: tabela, formulário, figura, equação, bloco de código, nota de rodapé, imagem com legenda
  • Diagramas de fluxo convertidos para formato Mermaid
  • Gráficos extraídos como dados estruturados (valores, rótulos de eixos, categorias)
  • Matemática em LaTeX

Para quem constrói pipelines RAG, fluxos de document ingestion, ou automações, este é o formato que você realmente precisa — não texto plano com espaços em branco quebrados.

As três formas de usá-lo

Aqui está o prático. Você tem três opções dependendo do seu setup e escala:

Opção 1: API hospedada (o caminho mais rápido)

A opção mais simples. Datalab roda a inferência, você chama a API. Inclui $5 de créditos gratuitos para começar, depois pagamento por uso. Você não precisa de GPU. Ideal para: prototipagem, volumes baixos ou médios, ou quando você não quer gerenciar infraestrutura.

pip install datalab-sdk

Opção 2: vLLM local (recomendado para produção)

Você roda o modelo em sua própria GPU com vLLM como backend de inferência. Instalação mais leve que HuggingFace, melhor throughput, e mais fácil de containerizar. É o caminho recomendado para times que precisam de privacidade de dados ou custos previsíveis em escala.

pip install chandra-ocr
chandra_vllm  # levanta o servidor vLLM
chandra input.pdf ./output

Configuração via variáveis de ambiente:

MODEL_CHECKPOINT=datalab-to/chandra-ocr-2
VLLM_API_BASE=http://localhost:8000/v1
VLLM_GPUS=0

Em uma H100, você pode chegar a 4 páginas por segundo — cerca de 345.000 páginas por dia.

Opção 3: Backend HuggingFace (máximo controle)

Use transformers diretamente. Mais dependências (torch, flash attention é recomendado), mas lhe dá o maior controle sobre inferência, batching e integração com pipelines ML existentes.

pip install chandra-ocr[hf]
chandra input.pdf ./output --method hf

E 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)

Licença: o que você precisa saber

O código é Apache 2.0 — completamente aberto. Os pesos do modelo usam uma licença OpenRAIL-M modificada: grátis para pesquisa, uso pessoal, e startups com menos de $2M em financiamento ou receita. Acima desse limite, você precisa de uma licença comercial. Se você está construindo um produto que compete diretamente com a API hospedada do Datalab, os pesos abertos não são uma opção independentemente do tamanho da sua empresa.

Quando usá-lo

Chandra brilha em documentos onde o layout importa: relatórios anuais, formulários governamentais, faturas, papers acadêmicos com equações, documentos históricos, qualquer coisa com tabelas que ocupem múltiplas colunas. Para PDFs simples com apenas texto, Marker é mais rápido e leve. Para documentos enterprise estruturados, Chandra é a ferramenta.

O suporte multilíngue também vale destacar para a região — Chandra 2 cobre 90 idiomas com melhorias significativas em scripts do Sul Asiático. O desempenho em português é sólido em todo o benchmark.


Você está construindo pipelines de document ingestion ou RAG? Que tipo de documentos são os que mais custam processar para você hoje? Conte-nos nos comentários.

Recursos: