RAG-pijplijnen (Retrieval-Augmented Generation) zijn zo goed als de gegevens die ze ophalen. Die gegevens zijn weer zo goed als de documentparsing die de chunker en embedder voedt.
De meest voorkomende fout: ruwe PDF-tekst naar een vectordatabase sturen en je afvragen waarom de zoekkwaliteit slecht is. PDF's bevatten geen gestructureerde tekst maar gepositioneerde glyphs. Paragrafen zijn losse tekstblokken, tabellen zijn coördinaten en koppen zijn grotere vette tekst.
De pijplijn
- Document → Markdown — Zet PDF, DOCX, PPTX of elk ander formaat om naar schone, gestructureerde Markdown met AnyMD.
- Markdown → Chunks — Splits op koppen en alinea's, semantisch in plaats van op vaste tokenlengte.
- Chunks → Embeddings — Stuur elke chunk naar je embeddingmodel.
- Embeddings → Vector store — Indexeer voor gelijkeniszoekopdrachten.
Stap 1 is waar veel RAG-pijplijnen stilletjes falen: rommel erin, rommel eruit.
Waarom Markdown het beste tussenformaat is
Markdown bewaart koppen, lijsten, tabellen en codeblokken in een licht formaat dat chunkers en embeddingmodellen native begrijpen.
Ruwe PDF-tekst:
Revenue Q1 Q2 Q3
EU €1.2M €1.4M €1.1M
US €0.9M €1.1M €1.3MNa AnyMD-conversie:
| Region | Q1 | Q2 | Q3 |
| :----- | :---- | :---- | :---- |
| EU | €1.2M | €1.4M | €1.1M |
| US | €0.9M | €1.1M | €1.3M |De Markdown-versie heeft semantische betekenis. Een chunker kan op kopgrenzen splitsen en een embeddingmodel maakt betere vectoren voor een tabel. Bij de vraag „wat was de EU-omzet in Q2?” wordt de werkelijke tabel met kolomkoppen opgehaald, niet losse getallen.
Praktisch voorbeeld
# 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.mdDe Markdown-uitvoer bewaart elke kop, tabel, lijst en alinea, klaar voor elk RAG-framework zoals LangChain, LlamaIndex of je eigen oplossing.
Prestaties op schaal
AnyMD zet een rapport van 48 pagina's in minder dan een seconde om. Bij 10.000 documenten per dag is dat 2,2 uur met AnyMD tegenover 16–39 uur met Python-alternatieven: conversielatentie is een doorvoerknelpunt.