RAG (Retrieval-Augmented Generation)

RAG (česky: generování rozšířené o vyhledávání) je technika v oblasti umělé inteligence, která umožňuje velkým jazykovým modelům přistupovat k externím datům v reálném čase, aniž by bylo nutné model znovu trénovat.

Zatímco standardní model odpovídá pouze na základě svých „vnitřních znalostí“ (které mají datum uzávěrky), RAG mu umožňuje nejdříve vyhledat relevantní informace v soukromých dokumentech nebo na internetu a až poté sestavit odpověď.

Proč používat RAG?

Aktuálnost: Model může pracovat s informacemi starými jen pár sekund (např. aktuální zprávy nebo stav skladu).

Snížení halucinací: Model je nucen podložit svou odpověď nalezenými fakty. Pokud informaci nenajde, může říct „nevím“, místo aby si vymýšlel.

Soukromí a bezpečnost: Umožňuje bezpečně pracovat s firemními daty (např. v DokuWiki), která nikdy neopustí vaši infrastrukturu a nejsou součástí veřejného tréninku modelu.

Citace zdrojů: RAG systémy mohou přesně ukázat, ze kterého dokumentu informaci čerpaly.

Jak RAG funguje (Architektura)

Proces probíhá v několika krocích, které se spustí po zadání dotazu uživatelem:

1. Vektorizace (Indexing)

Předem připravené dokumenty se rozdělí na menší kusy (chunks) a převedou se na číselné vektory (embeddings) pomocí speciálního modelu. Tyto vektory se uloží do vektorové databáze.

2. Vyhledávání (Retrieval)

Když položíte dotaz, systém jej také převede na vektor a najde v databázi sémanticky nejpodobnější kusy textu.

3. Rozšíření (Augmentation)

Původní dotaz se „obali“ nalezenými texty. Vznikne nový, rozšířený prompt: „Zde jsou informace z naší dokumentace: [Nalezený text]. Na základě těchto informací odpověz na otázku: [Původní dotaz].“

4. Generování (Generation)

LLM zpracuje tento obří prompt a vygeneruje odpověď, která je přesná a podložená fakty.

Srovnání: RAG vs. Fine-tuning

Vlastnost	RAG	Fine-tuning
Znalost nových dat	Okamžitá (stačí přidat soubor)	Vyžaduje nový trénink (dny/týdny)
Přesnost (fakta)	Velmi vysoká	Střední (může stále halucinovat)
Náklady	Nízké (provoz databáze)	Vysoké (výpočetní výkon GPU)
Transparentnost	Vysoká (uvádí zdroje)	Nízká (černá skříňka)

Klíčové technologie pro RAG

Vektorové databáze: Pinecone, Milvus, Weaviate, nebo rozšíření pgvector pro PostgreSQL.

Frameworky: LangChain nebo LlamaIndex (nástroje pro „pospojování“ databáze, modelu a logiky).

Embedding modely: Modely od OpenAI, Cohere nebo open-source modely z Hugging Face (např. BERT varianty).

Výzvy při implementaci

Kvalita dat: Pokud jsou zdrojové dokumenty chaotické, bude špatná i odpověď (tzv. „Garbage In, Garbage Out“).

Strategie dělení (Chunking): Jak velké kusy textu ukládat, aby neztratily kontext, ale zároveň nebyly příliš dlouhé.

Reranking: Dodatečné seřazení výsledků vyhledávání pro výběr těch skutečně nejlepších.

Příklad z praxe: Firemní chatbot pro zaměstnance. Místo aby se ptali kolegů, položí dotaz chatbotu, který pomocí RAG prohledá firemní PDF směrnice, Wiki stránky a Slack historii a okamžitě odpoví s odkazem na zdroj.

Zpět na AI rozcestník