Ako RAG funguje v praxi?
Predstavme si, že firma má stovky dokumentov s informáciami o produktoch, cenách, interných procesoch a zákazníckej podpore. Zamestnanci v nich potrebujú rýchlo nájsť konkrétne odpovede, no klasické vyhľadávanie im často nestačí.
RAG prepája dve veci: systém, ktorý vyhľadáva relevantné informácie, a jazykový model, ktorý z nich vytvorí zrozumiteľnú odpoveď.
Keď používateľ položí otázku, systém najskôr vyhľadá vhodné časti dokumentov. Tie následne poskytne AI spolu s otázkou. Model na základe tohto kontextu sformuluje odpoveď v prirodzenom jazyku.
Celý proces sa dá rozdeliť na tri základné kroky: vyhľadanie informácií, doplnenie kontextu a vygenerovanie odpovede.
Príprava dát: AI potrebuje vedieť, kde hľadať
Skôr než začne RAG odpovedať na otázky, musí mať prístup k relevantným informáciám. Môžu to byť PDF dokumenty, návody, interné wiki, produktové katalógy alebo obsah firemných databáz.
Nestačí však iba nahrať všetky súbory na jedno miesto. Dokumenty treba spracovať tak, aby sa v nich dalo efektívne vyhľadávať.
Jedným z bežných krokov je rozdelenie textov na menšie časti, ktoré sa označujú ako chunks. Predstavte si rozsiahly manuál rozdelený na jednotlivé sekcie. Ak sa používateľ pýta na reklamácie, systém potrebuje nájsť práve časť o reklamáciách, nie celý manuál.
Pri tomto procese sa často využívajú aj embeddings – číselné reprezentácie textu, ktoré zachytávajú jeho významové súvislosti. Vďaka nim dokáže systém vyhľadávať obsah podľa podobnosti významu, nielen podľa presnej zhody slov.
Tieto reprezentácie sa môžu ukladať do vektorovej databázy alebo iného vyhľadávacieho indexu. Keď používateľ položí otázku, systém v nich hľadá relevantné časti obsahu a vyberie tie, ktoré najlepšie zodpovedajú jeho požiadavke.
Od otázky k odpovedi
Vráťme sa k otázke o reklamačných podmienkach.
Používateľ sa opýta: „Dokedy môžem vrátiť objednávku?“ Systém vyhľadá príslušné informácie v dostupných dokumentoch a poskytne ich jazykovému modelu.
AI potom nemusí odpoveď vytvárať iba na základe všeobecných znalostí. Má k dispozícii konkrétne podklady, z ktorých môže vychádzať.
To je hlavná výhoda RAG: model nemusí mať všetky potrebné informácie uložené vo svojom tréningu. Môže ich dostať k dispozícii až v okamihu, keď ich potrebuje.
Ak firma zmení svoje reklamačné podmienky, stačí aktualizovať príslušné zdroje a zabezpečiť, aby sa zmeny správne premietli do vyhľadávacieho systému. Nie je preto potrebné znovu trénovať celý jazykový model pri každej zmene dokumentácie.
Samozrejme, aktualizácia nemusí byť okamžitá. Závisí od toho, ako je systém nastavený a ako rýchlo dokáže nové alebo upravené dáta spracovať.

Prečo RAG neznamená, že AI už nebude robiť chyby
Pridanie vlastných dát môže zlepšiť presnosť odpovedí, no samo osebe nezaručuje správny výsledok.
Predstavme si, že dokument obsahuje správnu odpoveď, ale vyhľadávací systém nájde nesprávnu sekciu. Jazykový model potom pracuje s neúplnými alebo nerelevantnými informáciami. Výsledná odpoveď môže byť nepresná, hoci potrebné údaje v systéme existujú.
Problém môže vzniknúť aj pri nekvalitných alebo zastaraných zdrojoch, nevhodnom rozdelení dokumentov či pri otázke, na ktorú dostupné dáta vôbec neodpovedajú.
Preto je dôležité testovať nielen to, ako dobre AI formuluje odpovede, ale aj to, či systém dokáže nájsť správne informácie a či výsledná odpoveď skutočne zodpovedá zdrojom.
V niektorých prípadoch pomáha kombinácia klasického vyhľadávania podľa kľúčových slov a vektorového vyhľadávania. Systém tak môže lepšie pracovať napríklad s presnými názvami produktov, identifikátormi aj otázkami formulovanými prirodzeným jazykom.
Rovnako dôležité je nastaviť pravidlá pre situácie, keď systém nenájde dostatok relevantných informácií. Namiesto domýšľania odpovede by mal vedieť priznať, že dostupné podklady nestačia.
Kde má RAG najväčší zmysel?
RAG je užitočný najmä vtedy, keď má AI pracovať s informáciami, ktoré sú špecifické pre konkrétnu firmu, menia sa v čase alebo nie sú súčasťou všeobecných znalostí modelu.
Môže ísť napríklad o interného asistenta, ktorý pomáha zamestnancom orientovať sa vo firemných procesoch, chatbota zákazníckej podpory, ktorý odpovedá na otázky o produktoch, alebo nástroj na vyhľadávanie v rozsiahlej technickej dokumentácii.
Pri návrhu treba myslieť aj na bezpečnosť. Ak má systém prístup k interným dokumentom, musí rešpektovať oprávnenia používateľov. Zamestnanec by nemal dostať informácie z dokumentu, ku ktorému nemá mať prístup, len preto, že ho vyhľadávací systém našiel ako relevantný.
RAG navyše nie je univerzálnym riešením pre každý problém s AI. Ak aplikácia potrebuje meniť správanie modelu alebo sa naučiť špecifickému štýlu, môže byť vhodnejší iný prístup. RAG sa zameriava predovšetkým na to, aby model pri odpovedaní dostal relevantné informácie z externých zdrojov.
RAG nie je len o výbere AI modelu
Pri vývoji AI aplikácie sa často veľa pozornosti venuje výberu jazykového modelu. Pri RAG je však rovnako dôležité to, čo sa deje ešte pred samotným generovaním odpovede.
Kvalita zdrojových dát, ich spracovanie, spôsob vyhľadávania, aktuálnosť informácií aj práca s oprávneniami ovplyvňujú, či bude výsledok užitočný. Aj výkonný model má obmedzené možnosti, ak dostane nesprávny kontext.
RAG pomáha prepojiť schopnosť AI komunikovať s informáciami, ktoré vaša firma skutočne potrebuje. Neznamená to, že model automaticky všetkému rozumie alebo nikdy neurobí chybu. Znamená to, že namiesto spoliehania sa iba na svoje naučené znalosti môže pri odpovedaní vychádzať aj z konkrétnych, relevantných podkladov.
A práve to môže z generického AI chatbota urobiť užitočný nástroj pre každodennú prácu.