Todo projeto de RAG (Retrieval Augmented Generation) bate na mesma parede: como extrair texto limpo de PDFs? Bibliotecas tradicionais como PyPDF2 e pdfplumber falham com tabelas, fórmulas e layouts em múltiplas colunas. O Marker da VikParuchuri resolve isso usando modelos de IA — e está disponível em 1 clique no GPUBrasil.
Marker converte PDFs em Markdown estruturado preservando tabelas, listas, equações (LaTeX) e ordem de leitura. Processa ~10 páginas/segundo em RTX 4090.
Por que Marker?
Marker é um pipeline open-source que usa Surya (layout detection) + modelos de OCR + heurísticas para gerar Markdown limpo. Diferente do pdftotext que solta texto bagunçado, o Marker preserva:
- Tabelas: convertidas em GitHub-flavored Markdown
- Equações: renderizadas como LaTeX inline ($x^2$) ou block
- Ordem de leitura: resolve PDFs em 2 colunas corretamente
- Cabeçalhos e listas: hierarquia preservada (##, -, 1.)
- Imagens: extraídas como arquivos referenciados
- Multilíngue: funciona com português, inglês, espanhol etc
Casos de uso no Brasil
- RAG corporativo: ingestão de contratos, regulamentos, manuais técnicos
- Pesquisa acadêmica: processar papers em PT-BR e EN para LLM
- Compliance jurídico: extração estruturada de decisões e leis
- Financeiro: relatórios trimestrais com tabelas complexas
- Saúde: prontuários eletrônicos digitalizados
- Educação: conversão de apostilas/livros em conteúdo estruturado
Hardware recomendado
- RTX A4000 / 3060 12GB: 3-5 páginas/segundo (custo-benefício)
- RTX 4090: 10+ páginas/segundo (produção)
- VRAM mínima: 8GB (modelos pequenos)
RTX 4090 (R$ 2,50/h) processa ~36.000 páginas/hora = R$ 0,00007 por página. Comparado a serviços OCR pagos (US$ 0,01-0,05/página), economia de 99%.
Deploy em 1 clique
Passo 1: Selecionar template
- Console → Templates → 📄 Documentos IA
- Clique em Marker
- GPU: RTX A4000 (econômico) ou RTX 4090 (produção)
- Clique em Iniciar
O template baixa os modelos do Marker (~3GB), expõe uma API HTTP na porta 8000 e abre uma Web UI Streamlit para teste manual.
Passo 2: Converter PDF via Web UI
Acesse https://<sua-instancia>.gpubrasil.com.br, faça upload do PDF e clique em Convert. Download do .md em segundos.
Passo 3: API HTTP
import requests
url = "https://sua-instancia.gpubrasil.com.br/api/convert"
with open("contrato.pdf", "rb") as f:
files = {"file": f}
r = requests.post(url, files=files)
result = r.json()
print(result["markdown"])
# Salvar como arquivo
with open("contrato.md", "w") as out:
out.write(result["markdown"])
Passo 4: Integração com LangChain (RAG)
from langchain.text_splitter import MarkdownHeaderTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import Qdrant
import requests
# 1. Converter PDF via Marker
def pdf_to_markdown(pdf_path):
with open(pdf_path, "rb") as f:
r = requests.post(
"https://sua-instancia.gpubrasil.com.br/api/convert",
files={"file": f}
)
return r.json()["markdown"]
md = pdf_to_markdown("manual.pdf")
# 2. Split por cabeçalhos (preserva contexto)
splitter = MarkdownHeaderTextSplitter(
headers_to_split_on=[("#","h1"),("##","h2"),("###","h3")]
)
chunks = splitter.split_text(md)
# 3. Indexar em Qdrant
emb = HuggingFaceEmbeddings(model_name="BAAI/bge-m3")
vs = Qdrant.from_documents(chunks, emb, host="qdrant.gpubrasil.com.br")
print(f"Indexados {len(chunks)} chunks!")
Dicas para máxima qualidade
- PDFs escaneados: Marker faz OCR automaticamente, mas pré-processar com unpaper ajuda
- Tabelas largas: ative
--max_pages 1000para processar livros inteiros - Equações: Marker detecta automaticamente; verifique
$$ ... $$no output - Batch processing: processe diretórios inteiros via CLI
- Idioma: ative
--langs Portuguese,Englishpara PDFs bilíngues
Marker vs alternativas
- Marker vs PyPDF2: Marker preserva estrutura; PyPDF2 só extrai texto puro
- Marker vs Tesseract: Marker entende layout; Tesseract só OCR de pixels
- Marker vs Adobe API: Marker é gratuito e roda na sua GPU
- Marker vs GPT-4 Vision: 100x mais barato para volume; qualidade comparável
Converta milhares de PDFs por hora
Ganhe R$ 25 grátis no GPUBrasil e suba seu pipeline de ingestão em 90 segundos.
Começar Grátis →Conclusão
Marker é a chave para qualquer RAG sério. Combinado com Qdrant + vLLM no GPUBrasil, você monta um stack completo de IA documental dentro do Brasil — sem enviar dados sensíveis para APIs externas, sem custos por página, escalando conforme demanda.
Próximos: Surya OCR · Qdrant vetor DB