Zaměstnanec se zeptá firemního chatbota, kolik dní dovolené mu zbývá. Bez dalšího vybavení model odpoví z toho, co se naučil při obecném tréninku, tedy prakticky nic konkrétního o téhle firmě, a buď se přizná, že to neví, nebo hůř, odpověď si věrohodně vymyslí. Se správně nastaveným RAG systém místo hádání nejdřív nahlédne do firemní docházkové databáze, najde konkrétní číslo u konkrétního zaměstnance, a teprve pak odpoví, opřený o reálný, aktuální údaj.

Přesně tenhle rozdíl je důvod, proč se technika zvaná RAG, zkratka pro retrieval-augmented generation, tedy generování rozšířené o vyhledávání, stala jedním z nejdůležitějších nástrojů, jak dělat AI odpovědi spolehlivější. Tenhle text vysvětluje, jak RAG funguje, odkud se vzal a kde se dnes používá.

Odkud se RAG vzal

Techniku poprvé formálně popsal tým výzkumníků z Facebook AI Research, dnešní Meta, ve studii z roku 2020 nazvané „Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”. Motivace byla přímočará: jazykové modely mají fixní znalosti dané tím, na čem byly natrénované, a jejich aktualizace vyžaduje nákladné a pomalé přetrénování celého modelu. RAG nabídl obchvat: místo aktualizace znalostí uvnitř modelu mu při každé konkrétní odpovědi dodat čerstvé, relevantní informace zvenčí.

Jak to funguje: dva kroky místo jednoho

Základní jazykový model odpovídá jedním krokem: dostane dotaz a rovnou generuje odpověď na základě toho, co se „naučil” při tréninku, podobně jako student u zkoušky, který nesmí použít žádné poznámky.

RAG přidává krok navíc, vyhledávání, ještě před samotným generováním odpovědi. Systém dotaz nejdřív porovná s databází dokumentů, ať jde o firemní wiki, technickou dokumentaci, nebo celý internet, a najde pasáže, které s dotazem věcně souvisí. Tyhle nalezené pasáže pak vloží do zadání spolu s původním dotazem a teprve na základě obojího model odpověď vygeneruje. Je to jako pustit studenta ke zkoušce s otevřenou knihou, otevřenou přesně na správné stránce.

Technicky se vyhledávání provádí pomocí takzvaných embeddingů, číselných reprezentací významu textu, díky kterým systém dokáže porovnávat věcnou podobnost mezi dotazem a milionem dokumentů rychleji, než by to zvládlo prosté hledání klíčových slov. Do detailů týhle části většina běžných uživatelů nikdy nepotřebuje zabíhat, důležitý je výsledek: model odpovídá na základě něčeho konkrétního, co si právě přečetl, ne jen z obecné paměti.

Jak vypadá rozdíl v praxi na konkrétním příkladu

Představte si právníka, který se ptá interního AI asistenta, jaké jsou výpovědní podmínky v konkrétní smlouvě s dodavatelem. Bez RAG model odpoví obecně, jak výpovědní podmínky ve smlouvách obvykle vypadají, protože přesně tuhle smlouvu nikdy neviděl, mohl by nanejvýš znát obecné vzorce z podobných dokumentů, na kterých se trénoval.

S RAG systém nejdřív najde v databázi firemních smluv tu správnou, vytáhne z ní přesný odstavec o výpovědní lhůtě, a model odpověď postaví na tomhle konkrétním textu. Rozdíl mezi „smlouvy obvykle mívají třicetidenní výpovědní lhůtu” a „tahle konkrétní smlouva stanovuje šedesátidenní výpovědní lhůtu podle článku 8.2” je přesně to, co RAG přidává.

Proč to snižuje halucinace, ne proč je odstraňuje

Standardní jazykový model, jak podrobně popisuje přehled o halucinacích AI, má tendenci sebevědomě vymýšlet fakta tam, kde si není jistý nebo kde v tréninkových datech chyběla dostatečná opora. RAG tohle riziko výrazně snižuje, protože model nemusí spoléhat čistě na paměť, má k dispozici konkrétní nalezený text, ze kterého může čerpat.

Úplně halucinace neodstraní. Model pořád může nalezený text špatně interpretovat, zkombinovat dvě různé pasáže do jedné nesprávné věty, nebo halucinovat i v případě, že vyhledávání nenašlo nic relevantního a systém přesto nějakou odpověď vygeneruje. Praktickým dopadům na běžné ověřování faktů se detailně věnuje přehled, jak ověřovat fakta od AI.

RAG, nebo přetrénování modelu

Alternativou k RAG je takzvané jemné dotrénování (fine-tuning), kdy se model dodatečně trénuje na specifických datech, aby si nové znalosti nebo styl přímo osvojil. Obě metody řeší podobný problém, jinou cestou.

Jemné dotrénování se hodí, když chcete, aby si model osvojil konkrétní styl psaní nebo hluboce specializovaný slovník oboru. RAG se hodí, když potřebujete, aby model pracoval s informacemi, které se často mění, ceníkem, aktuální dokumentací, dnešními zprávami, protože aktualizace zdrojové databáze je řádově rychlejší a levnější než opakované přetrénování celého modelu. V praxi firmy často kombinují obojí najednou.

Kde se RAG dnes používá

Perplexity, vyhledávací nástroj založený přímo na tomhle principu, ke každé odpovědi připojuje odkazy na konkrétní zdroje, ze kterých čerpal, viditelný důkaz, že RAG proběhl. Microsoft Copilot i vyhledávací režim ChatGPT fungují podobně, když mají zapnuté vyhledávání na webu.

Firmy RAG nejčastěji nasazují na interní chatboty napojené na vlastní dokumentaci: zákaznická podpora, která odpovídá podle aktuálního manuálu produktu, HR asistent odpovídající podle platných interních směrnic, právní tým, který si nechá rychle najít relevantní pasáž z tisíce stran smluv. Ve všech případech jde o stejný vzorec: obecný jazykový model plus přístup ke konkrétním, aktuálním, důvěryhodným datům dané organizace.

Zdravotnictví a věda tuhle techniku využívají k prohledávání obrovského množství odborné literatury: lékař nebo výzkumník se zeptá na konkrétní téma a systém mu místo obecné odpovědi najde a shrne relevantní studie z posledních měsíců, včetně odkazů, kde si je může sám dohledat a ověřit. U rychle se vyvíjejících oborů, kde nová zjištění vycházejí denně, je tohle výrazně užitečnější než model, jehož znalosti jsou zamrzlé k datu posledního tréninku.

Na co si dát pozor

Kvalita RAG systému stojí a padá s kvalitou vyhledávání, ne jen se schopnostmi samotného modelu. Pokud vyhledávací část najde nesprávný nebo zastaralý dokument, model na jeho základě sebejistě vygeneruje odpověď, která bude znít přesvědčivě a přitom bude vycházet ze špatného zdroje. Přítomnost citovaného zdroje pod odpovědí automaticky neznamená, že zdroj skutečně obsahuje to, co model tvrdí, vyplatí se ho otevřít a ověřit.

Shrnutí

RAG spojuje dvě věci, které samostatně mají svoje limity: jazykový model, který umí plynule formulovat odpověď, a vyhledávání, které dodá konkrétní, aktuální podklad. Firmy dneska podle týhle metody staví chatboty, které mají pracovat se specifickými, často se měnícími daty dané organizace, ne jen s obecnými znalostmi z internetu.

Kdo chce porozumět širšímu kontextu, jak takové modely vůbec fungují uvnitř, najde základ v přehledu o velkých jazykových modelech.