Blog

Jak postavit RAG ingestní pipeline, která skutečně funguje

10. srpna 2026 · 5 min čtení


RAG (Retrieval-Augmented Generation) pipeline je tak dobrá, jak dobrá jsou data, která vyhledává. A ta jsou tak dobrá, jak dobrý je krok parsování dokumentů před dělením a embeddingy.

Nejčastější chyba je poslat syrový text PDF do vektorové databáze. PDF neobsahuje strukturovaný text, ale umístěné glyfy: odstavec je volná skupina bloků, tabulky jsou souřadnice a nadpisy jen tučný větší text.

Pipeline

  1. Dokument → Markdown — převeďte PDF, DOCX, PPTX nebo jiný formát do čistého strukturovaného Markdownu přes AnyMD.
  2. Markdown → Fragmenty — rozdělte podle nadpisů a odstavců, sémanticky, ne podle pevné délky tokenů.
  3. Fragmenty → Embeddingy — předejte každý fragment modelu embeddingů.
  4. Embeddingy → Vektorové úložiště — indexujte pro vyhledávání podobnosti.

V prvním kroku většina RAG pipeline potichu selže: špatná data dovnitř, špatná data ven.

Proč je Markdown nejlepší meziformát

Markdown zachovává nadpisy, seznamy, tabulky a bloky kódu v lehkém formátu, kterému děliče i modely embeddingů rozumí.

Syrový text PDF:

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

Po převodu AnyMD:

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

Markdownová verze má sémantický význam. Dělič může dělit na hranicích nadpisů a embeddingový model vytvoří lepší vektory pro tabulku než pro text s mezerami. Dotaz na tržby EU v Q2 vrátí skutečnou tabulku s hlavičkami, ne osamocená čísla.

Praktický příklad

# 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

# Now feed that Markdown into your chunker/embedder pipeline

Výstup zachová každý nadpis, tabulku, seznam i odstavec a je připravený pro LangChain, LlamaIndex nebo vlastní RAG framework.

Výkon ve velkém měřítku

AnyMD převede 48stránkovou zprávu za méně než sekundu. Při 10 000 dokumentech denně je to 2,2 hodiny místo 16–39 hodin u alternativ v Pythonu. Latence převodu je v RAG pipeline úzké hrdlo propustnosti.


← Číst dále →