Docling: converter PDFs para IA locale
Docling é uma biblioteca livre (licença MIT, projeto da IBM Research hospedado pela LF AI & Data Foundation) que converte PDF, DOCX, PPTX, XLSX, HTML, EPUB, imagens e áudio em markdown ou JSON estruturado, reconstruindo o layout, a ordem de leitura e as tabelas. Ela roda inteiramente em ambiente local, com ou sem GPU, e se conecta diretamente a LangChain, LlamaIndex, Crew AI ou Haystack para alimentar um pipeline de RAG documental.
O PDF é a entrada mais difícil de qualquer cadeia local de processamento de documentos: duas colunas lidas transversalmente, um cabeçalho que corta uma frase ao meio, uma tabela de números reduzida a uma coluna de números sem seus respectivos rótulos. O Docling é uma biblioteca livre publicada pelo IBM Research, hoje hospedada pela LF AI & Data Foundation, que analisa o layout, reconstrói a ordem de leitura e recupera a estrutura das tabelas, depois exporta tudo em markdown, HTML ou JSON. Tudo na sua máquina, sem API — o que é exatamente a exigência quando os documentos são contratos ou prontuários médicos.
#A etapa que determina todo o resto
Quando um assistente documental responde mal, a culpa é atribuída ao modelo. A causa está quase sempre em uma etapa anterior. Um relatório exportado a partir de um modelo de documento corporativo e processado por um extrator de texto ingênuo vira um fluxo em que o cabeçalho da página interrompe um parágrafo, o conteúdo disposto em duas colunas é lido horizontalmente e uma tabela de resultados se transforma em uma sequência de números sem contexto. Esses trechos são então codificados, recuperados e apresentados ao modelo como fatos: ele lê um absurdo e o reproduz com confiança. Nenhum modelo de embedding, nenhum reranker e nenhum prompt consegue corrigir uma conversão malsucedida em uma etapa anterior da cadeia — esse é o ponto que a maioria dos tutoriais de RAG local deixa de mencionar ao se concentrar na escolha do modelo de linguagem.
O Docling aborda diretamente essa etapa negligenciada. O projeto foi publicado como código aberto pela IBM Research em julho de 2024 sob licença MIT, o que permite uso comercial sem royalties nem copyleft. Rapidamente ultrapassou 10.000 estrelas no GitHub e, no início de 2025, estava entre os repositórios mais seguidos do mundo; no final de setembro de 2026, o repositório oficial contava com mais de 68.000 estrelas e sua última versão estável, a v2.130.0, havia sido publicada em 22 de setembro de 2026.
#O que faz o Docling
Seus documentos, sua IA: um RAG local confiável para seus PDFs, notas e e-mails — sem enviar nada para a nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
- Análise de layout
- Identifica as áreas de uma página e seu tipo, para que uma legenda não fique colada a um parágrafo e um rodapé não apareça no meio de uma frase.
- Ordem de leitura
- Reconstitui a sequência que um ser humano seguiria, o que finalmente permite utilizar os documentos em colunas.
- Estrutura das tabelas
- Identifica linhas, colunas e células mescladas e as exporta como tabelas de verdade, em vez de linhas de texto.
- Reconhecimento ótico quando necessário
- As páginas digitalizadas sem camada de texto passam pelo OCR em vez de serem ingeridas sem conteúdo.
- Compreensão de gráficos
- Gráficos de pizza, histogramas e gráficos de linhas podem ser convertidos em tabelas de dados ou em uma descrição textual, em vez de serem simplesmente ignorados.
- Um único modelo de documento
- Uma representação interna comum, vários formatos de exportação (markdown, HTML, DocTags, JSON sem perda): o restante do processo ignora se a entrada era um PDF ou um arquivo de escritório.
Além do PDF, o Docling suporta DOCX, PPTX, XLSX, HTML, EPUB, imagens (PNG, TIFF, JPEG…), e-mails (EML, MSG) e até áudio (WAV, MP3) por meio de um pipeline de transcrição — o que importa, porque um corpus real nunca é homogêneo. No que diz respeito às integrações, a biblioteca se conecta com poucas linhas de código ao LangChain, LlamaIndex, Crew AI e Haystack, o que evita que você tenha de escrever por conta própria o código de conversão em um pipeline de agentes.
#As tabelas, o verdadeiro motivo para se dar ao trabalho
Em um documento profissional, os números estão quase sempre em tabelas, e é nelas que a extração ingênua falha mais gravemente. Uma linha que se torna «Paris 12 480 3,2» perdeu os títulos das colunas que lhe davam sentido. A busca retorna então um trecho com aparência correta, o modelo inventa a relação entre os valores e a resposta está errada de uma forma difícil de perceber.
O Docling confia essa tarefa a um modelo dedicado, TableFormer, que codifica a estrutura da tabela com um vocabulário especializado chamado OTSL (Optimized Table Structure Language) e lida corretamente com células mescladas e cabeçalhos de múltiplos níveis. De acordo com o artigo de pesquisa que originou esse formato, o OTSL reduz a poucos tokens o que uma representação HTML equivalente expressa com mais de 28 tokens, o que reduz aproximadamente pela metade o comprimento médio da sequência a prever e divide por dois o tempo de inferência em comparação com um modelo que geraria HTML — um detalhe de arquitetura invisível para o usuário final, mas que explica por que o reconhecimento de tabelas do Docling continua utilizável em grandes volumes sem uma GPU dedicada exclusivamente a esse uso. Dois modos estão disponíveis nas opções do pipeline: FAST, mais rápido, mas menos preciso em tabelas complexas, e ACCURATE, recomendado sempre que as tabelas contêm células mescladas ou múltiplos níveis de cabeçalho. Manter a estrutura, mesmo em markdown, preserva o vínculo entre cada valor e seu rótulo. Em um corpus em que as respostas esperadas são números, isso, por si só, justifica um conversor mais pesado do que um simples extrator de texto.
#Motores OCR disponíveis
Docling não inclui um motor OCR único: ele coordena vários motores intercambiáveis de acordo com o tipo de documento. EasyOCR e Tesseract (via tesserocr ou linha de comando) cobrem a maioria dos casos; RapidOCR aceita modelos personalizados; OcrMac usa o reconhecimento nativo do macOS quando disponível. A escolha é feita nas opções do pipeline, não no código da sua aplicação, o que permite trocar o motor sem alterar a lógica de ingestão.
Na prática, um pipeline de ingestão em produção quase sempre começa testando o Tesseract em uma amostra: se ele produz um texto limpo, não há motivo para arcar com o custo do EasyOCR. A mudança para o EasyOCR se justifica principalmente em digitalizações degradadas, formulários parcialmente manuscritos ou idiomas em que o Tesseract falha. O RapidOCR e o OcrMac continuam sendo opções de nicho, reservadas, respectivamente, a um modelo de OCR próprio já treinado e a um computador Mac isolado, sem dependências externas a instalar.
| Motor | Ponto forte | Caso de uso típico |
|---|---|---|
| Tesseract | Rápido com texto nítido | Documentos digitais já escaneados de forma adequada |
| EasyOCR | Mais robusto em scans degradados e escrita não padrão, opção de GPU via use_gpu | Arquivos, formulários, corpus heterogêneos |
| RapidOCR | Aceita modelos personalizados | Necessidades específicas (língua rara, domínio especializado) |
| OcrMac | Utiliza o motor nativo do macOS, sem dependência adicional | Workstation Mac, volumes pequenos |
#A divisão em trechos que segue a estrutura
Um ponto que a maioria dos guias de RAG local não explica: o Docling não se limita a converter, ele também propõe uma divisão em trechos adaptada ao que acabou de reconstruir. Seu HybridChunker parte da hierarquia do documento (títulos, seções) e depois ajusta o tamanho de cada trecho com base no tokenizer real do modelo de embedding escolhido: blocos muito longos são divididos nos limites dos elementos, e não no meio de uma frase, e blocos muito curtos que compartilham o mesmo título são fundidos. O tokenizer fornecido deve estar alinhado ao do modelo de embedding usado nas etapas seguintes; caso contrário, o tamanho real dos trechos (em tokens) deixa de corresponder ao que o índice vetorial espera. Trata-se de uma divisão baseada na estrutura, que pode ser comparada à divisão em blocos de caracteres, que ignora os limites das frases: consultar nosso guia sobre estratégias de chunking para entender as vantagens e desvantagens das duas abordagens.
#O custo em recursos computacionais
| Configuração | Taxa de processamento | Quando basta |
|---|---|---|
| Apenas processador, sem OCR | O mais lento: alguns segundos por página complexa | Pequenos corpus, conversões pontuais |
| Apenas CPU, com OCR | Mais lento ainda, o OCR domina | Alguns documentos escaneados |
| Com GPU | Muito mais rápido na análise de página, em tabelas e no OCR EasyOCR | Milhares de páginas, ingestão repetida |
A consequência prática: convertemos em lotes, uma única vez, e mantemos o resultado. Reindexar só faz sentido se a fonte mudar. E, em uma máquina que também executa um modelo de linguagem, os dois disputam a mesma GPU por meio das opções de aceleração do pipeline: ingerir um corpus enquanto usuários fazem perguntas torna ambos mais lentos.
#Sua posição na cadeia
- 01ConverterDocling transforma seus arquivos em markdown ou JSON estruturado, mantendo as tabelas intocadas.
- 02DividirCom o HybridChunker, seguindo a estrutura identificada e o tokenizer do modelo de embedding, em vez de dividir a cada mil caracteres. É aqui que o conversor compensa uma segunda vez.
- 03Codificar e armazenarUm modelo de embedding local transforma trechos em vetores, armazenados em uma base vetorial como Qdrant.
- 04ResponderUm modelo local redige a partir dos trechos encontrados, via Ollama ou um servidor de inferência local.
- Armazenar vetores no Qdrant
- Comparar as estratégias de chunking
- Uma aplicação pronta para conversar com seus documentos
- Caso especial: extrair dados de faturas
- Apenas Tesseract: um OCR mais simples para texto limpo
- O kit RAG local QuelLLM: todos os componentes em uma página
- Fonte: repositório oficial Docling no GitHub
- Fonte: opções do pipeline Docling (OCR, TableFormer)
- Fonte: documentação do HybridChunker
#Onde ainda dá problema
- Escaneamentos de baixa qualidade
- A precisão do OCR em uma fotocópia inclinada é uma limitação física, não de software.
- Layouts com muitos elementos gráficos
- Revistas, texto que envolve uma figura, formulários: difíceis para todos os conversores.
- Escrita à mão
- Fora do escopo dessa categoria de ferramentas.
- Gráficos complexos
- A compreensão de gráficos cobre os casos comuns (pizza, barras, linhas); um gráfico muito específico — mapa, diagrama técnico, esquema de arquitetura — ainda pode ser representado apenas por sua legenda, sem os valores subjacentes.
- Custo de entrada
- Instalar os modelos de layout, tabelas e OCR representa vários gigabytes de download na primeira execução; em uma máquina isolada sem acesso à rede, é necessário baixá-los previamente.
#FAQ
Docling é gratuito?+
É necessária uma GPU?+
Ele consegue ler PDFs escaneados?+
Qual a diferença entre os modos FAST e ACCURATE do TableFormer?+
Docling ou um simples extrator de texto?+
O Docling se integra com LangChain ou LlamaIndex?+
Os dados saem da minha máquina?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.