← Knihovna · foundations

RAG — Retrieval-Augmented Generation

RAG — Retrieval-Augmented Generation

Když model nemá v hlavě tvoje data, dodá si je z vector store nebo z plnotextu. RAG je pattern, ne produkt.

Co to je

RAG je vzor "najdi relevantní kontext → vlož ho do promptu → ať model
odpovídá podle něj". Ne nová generace AI, ne magie. Workflow.

Existuje proto, že LLM:

  • mají fixní cutoff date,
  • neumí spolehlivě odpovídat na firemní data, která neviděly,
  • halucinují, když nemají na čem se chytit.

Jak to funguje

  1. Indexace. Dokumenty rozseknu na chunky (typicky 500–1500 tokenů),
    z každého spočtu embedding a uložím do vector store (pgvector, Qdrant,
    LanceDB).
  2. Retrieval. Z dotazu spočtu embedding, najdu top-K nejbližších
    chunků. Někdy ještě hybrid s BM25 plnotextem, protože embedding sám
    prohraje na klíčových slovech a číslech.
  3. Reranker (volitelný). Cross-encoder přeskóruje výsledky podle
    skutečné relevance. Bez něj máš často top-10 plný "podobně znějících"
    chunků, ne odpovědi.
  4. Generace. Top-N chunků (typicky 4–8) vložím do promptu jako
    kontext + původní otázku.

Když to dává smysl (a kdy ne)

Ano: firemní knowledge base, dokumentace, právní/medicínský archiv,
data, která se mění.

Ne: kreativní úlohy bez ground truth, dotazy řešitelné jedním
SQL JOINem, situace, kdy stačí dlouhý kontext (1M token modely posunuly
hranici).

Časté chyby

  • Chunkování po větách. Ztratíš kontext "co je předmět této věty".
  • Jenom embedding bez BM25. Embedding nepozná "model GPT-5" vs "GPT-4".
  • Žádný reranker. Top-K embedding similarity ≠ top-K relevance.
  • Bez evals. Když nevíš, jestli RAG odpovídá líp než holý model,
    můžeš ho rovnou vypnout.

Co si pamatovat

RAG je tooling kolem promptu. Neřeší úlohy, které model neumí. Řeší
úlohy, které model umí, ale nemá k nim data.