Blog

Criar um pipeline de ingestão RAG que realmente funciona

10 de agosto de 2026 · 5 min de leitura


Os pipelines RAG (Retrieval-Augmented Generation) são tão bons quanto os dados que recuperam. E esses dados dependem da análise dos documentos que alimenta o chunker e o embedder.

O erro mais comum é enviar texto PDF bruto para uma base de dados vetorial e perguntar porque a recuperação é fraca. PDFs não contêm texto estruturado, mas glifos posicionados: parágrafos são blocos soltos, tabelas são coordenadas e títulos são texto maior em negrito.

O pipeline

  1. Documento → Markdown — Converta PDF, DOCX, PPTX ou qualquer formato em Markdown estruturado com a API AnyMD.
  2. Markdown → Chunks — Divida por títulos e parágrafos, semanticamente.
  3. Chunks → Embeddings — Passe cada chunk pelo modelo de embeddings.
  4. Embeddings → Vector store — Indexe para pesquisa por semelhança.

É no primeiro passo que muitos pipelines RAG falham silenciosamente: lixo entra, lixo sai.

Porque Markdown é o melhor formato intermédio

Markdown preserva títulos, listas, tabelas e blocos de código num formato leve que chunkers e modelos de embeddings compreendem nativamente.

Texto PDF bruto:

Revenue Q1 Q2 Q3
EU €1.2M €1.4M €1.1M
US €0.9M €1.1M €1.3M

Depois da conversão AnyMD:

| Region | Q1    | Q2    | Q3    |
| :----- | :---- | :---- | :---- |
| EU     | €1.2M | €1.4M | €1.1M |
| US     | €0.9M | €1.1M | €1.3M |

A versão Markdown tem significado semântico. Um chunker pode dividir nos limites dos títulos e o modelo de embeddings produz melhores vetores para uma tabela. Quando alguém pergunta «qual foi a receita da UE no T2?», é recuperada a tabela real com cabeçalhos, não números isolados.

Exemplo prático

# Convert a quarterly report to Markdown
curl -X POST https://anymd.net/api/convert \
  -H "Authorization: Bearer your-key" \
  -F "file=@quarterly-report.pdf" \
  -o report.md

A saída preserva títulos, tabelas, listas e parágrafos, pronta para LangChain, LlamaIndex ou outro framework RAG.


← Ler mais →