Zákazníci očakávajú rýchle odpovede, no nájsť správnu informáciu nie je vždy jednoduché.
Pritom odpoveď na zákaznícku otázku častokrát už existuje – na webe, v produktovom manuáli alebo v internom postupe konkrétnej firmy. Problém vzniká preto, že ju zákazník nevie nájsť. A pracovník, ktorý by mu poradil, má práve inú prácu.
RAG ponúka praktický spôsob, ako informácie spraviť dostupnejšie a jednoduchším spôsobom. Zákazník položí otázku bežnými slovami a asistent mu odpovie podľa materiálov, ktoré firma vybrala. Ak aplikácia zobrazuje aj zdroje, používateľ si môže overiť, odkiaľ odpoveď pochádza. Takýto asistent môže pomáhať zákazníkom na webe aj zamestnancom v internom systéme, pričom každému sprístupní iba tie informácie, ku ktorým má dotyčná osoba oprávnený prístup.
Čo sa skrýva pod skratkou RAG
RAG je skratkou pre Retrieval-Augmented Generation, čo by sme mohli preložiť ako generovanie odpovedí rozšírené o vyhľadávanie informácií. Vo všeobecnosti radíme RAG medzi technológie umelej inteligencie, presnejšie medzi metódy práce s generatívnou AI a jazykovými modelmi. Systém najprv vyhľadá informácie súvisiace s otázkou a až potom požiada jazykový model, aby z nich zostavil odpoveď. RAG teda spája vyhľadávanie s tvorbou textu.
Jazykový model si môžeme predstaviť ako schopného nového kolegu na zákazníckej podpore. Vie dobre komunikovať, ale nepozná naše služby a pravidlá. Potrebuje správne podklady. RAG mu ich vyberie podľa otázky, ktorú práve rieši.
Jazykový model nemá automatický prístup k aktuálnemu obsahu firemného webu, interným dokumentom ani novým pracovným postupom. Používateľ komunikuje s konkrétnou aplikáciou alebo AI asistentom, zatiaľ čo RAG zabezpečuje prácu s firemnými informáciami na pozadí.
Čo sa deje po odoslaní otázky
Predstavme si bežnú situáciu – návštevník webu sa chce objednať na konkrétnu službu. Následne už nemusí prechádzať niekoľko podstránok. Otázku napíše do chatu a na pozadí prebehne krátky proces:
- Systém nájde časti dokumentov, ktoré súvisia s otázkou.
- Vybrané informácie pošle modelu spolu s otázkou a pravidlami odpovedania.
- Model z podkladov vytvorí odpoveď. Aplikácia k nej môže pridať odkazy na použité zdroje.
Prvým krokom je príprava samotného obsahu. Dokumenty sa zvyčajne rozdelia na menšie, významovo ucelené pasáže a uložia sa do vyhľadávacieho indexu. Okrem presných slov možno hľadať aj texty s podobným významom. Na to slúžia embeddingy, teda číselné reprezentácie textu, pomocou ktorých systém porovnáva otázku s dokumentmi.
V bežnej aplikácii zostáva tento proces na pozadí. Používateľ vidí otázku, odpoveď a prípadne zdroje, o ktoré sa odpoveď opiera.
Ako sme RAG použili v klientskom projekte
V projekte pre súkromnú kliniku sme vytvorili asistenta zákazníckej podpory. AI asistent pracuje s pripraveným obsahom jej webových stránok a používa ho pri otázkach o službách, kontaktoch alebo objednaní.
Systém vyhľadáva dvoma spôsobmi. Kľúčové slová mu pomáhajú pri presných názvoch služieb a významové vyhľadávanie pri prirodzene formulovaných otázkach. Výsledky sa spoja a najvhodnejšie pasáže dostane jazykový model. Jeho pokyny hovoria, že má odpovedať podľa dodaných materiálov a faktické tvrdenia doplniť odkazmi na zdroje.
Pri príprave obsahu sme zachovali štruktúru stránok, napríklad nadpisy, odseky a zoznamy. Sekcie s recenziami a navigačným obsahom sa filtrujú, aby sa nepomiešali s údajmi o službách a prevádzke. Kvalita odpovede totiž závisí aj od toho, aké pasáže systém nájde a pošle modelu.
Ako to funguje technicky
Celý proces možno rozdeliť do štyroch krokov:
- Príprava zdrojov
Najprv treba pripraviť zdroje, z ktorých bude RAG čerpať. Obsah sa rozdelí na menšie, významovo ucelené pasáže a uloží do vyhľadávacieho indexu spolu s informáciami o pôvode. Pre každú pasáž sa vytvorí aj embedding, teda číselná reprezentácia jej významu. Keď sa zdrojový obsah zmení, index treba aktualizovať. - Vyhľadanie relevantných pasáží
Po odoslaní otázky prebehnú súčasne dva druhy vyhľadávania. Prvý pracuje so slovnými zhodami a dobre zachytáva názvy služieb, produktov alebo konkrétne pojmy. Druhý pomocou embeddingov porovnáva význam otázky s významom uložených pasáží.
Výsledky oboch vyhľadávaní sa následne spoja metódou Reciprocal Rank Fusion, ktorá zvýhodní pasáže umiestnené vysoko v oboch rebríčkoch. Model napokon dostane najviac šesť najvhodnejších pasáží. - Vytvorenie odpovede a doplnenie zdrojov
Vybrané pasáže sa pridajú k zadaniu pre jazykový model spolu s názvom zdroja, sekciou, adresou a číselnou značkou. Model má odpovedať podľa týchto podkladov a značkami označiť faktické tvrdenia.
Backend po vytvorení odpovede ponechá iba značky patriace k aktuálne vyhľadaným zdrojom. Tým zabráni odkazom na neexistujúce podklady. Stále však treba testovať, či jednotlivé tvrdenia zo zobrazeného zdroja skutočne vyplývajú. - Odovzdanie požiadavky ďalšiemu nástroju
RAG pracuje s informáciami a pripravuje odpovede. Ak má systém vykonať konkrétny úkon, napríklad zmeniť existujúcu rezerváciu, potrebuje samostatný nástroj a napojenie na príslušnú aplikáciu. V našom riešení sa pri takejto požiadavke zobrazí formulár alebo sa požiadavka odovzdá zákazníckej podpore.
Kedy sa RAG oplatí zvážiť
RAG má najväčší význam tam, kde odpovede závisia od vlastných firemných informácií a tie sú roztrúsené vo viacerých zdrojoch alebo sa pravidelne menia. Typickým príkladom je zákaznícka podpora, ktorá opakovane vysvetľuje rovnaké služby a postupy. Rovnako môže RAG pomôcť zamestnancom pri hľadaní v interných pravidlách alebo obchodnému tímu pri práci s produktovou dokumentáciou.
To, či riešenie skutočne pomáha, treba overiť v reálnej prevádzke. Samotný počet konverzácií totiž nehovorí nič o tom, či používatelia dostali užitočné odpovede. Dôležitejšie je sledovať, koľkí našli správnu informáciu bez ďalšieho hľadania, ako rýchlo sa k nej dostali a pri ktorých otázkach bola stále potrebná pomoc človeka.
Niekedy stačí menej techniky
RAG nie je potrebný pri každej práci s AI. Pri jednorazovom spracovaní krátkeho dokumentu ho možno vložiť priamo do zadania. Ak človek potrebuje nájsť a otvoriť známu stránku, lepšie mu poslúži obyčajné vyhľadávanie.
Okrem RAG možno pri práci s jazykovými modelmi využiť aj ich dolaďovanie, známe ako fine-tuning. Tieto prístupy však slúžia na odlišné účely. Pri RAG dostáva model podklady v čase odpovedania. Fine-tuning mení jeho správanie pomocou tréningových príkladov. Ak sa zmení firemný dokument, pri RAG netreba znovu trénovať generujúci model, ale treba aktualizovať zdroj a vyhľadávací index. Oba prístupy sa teda môžu dopĺňať.
Na presný stav objednávky, výpočet ceny či zmenu rezervácie potrebuje aplikácia databázu alebo príslušné rozhranie. Vyhľadanie textu takýto úkon nevykoná, hoci používateľovi môže vysvetliť postup a nasmerovať ho ďalej.
Odpoveď je len taká dobrá ako jej zdroje
RAG dokáže obmedziť nepodložené odpovede, no nedokáže im úplne zabrániť. Vyhľadávanie potom môže vybrať nevhodnú pasáž. Model zas môže správny podklad neúplne alebo nesprávne interpretovať. Ani odkaz na zdroj automaticky nedokazuje každú vetu, preto sa pri testovaní osobitne hodnotí kvalita vyhľadávania a kvalita odpovede.
Tu ale práca s dátami nekončí. Zdroje treba udržiavať a riešenie skúšať na otázkach, ktoré ľudia naozaj kladú. V prípade, keď RAG pracuje s internými dokumentmi, musí rešpektovať aj prístupové oprávnenia. Každý používateľ smie dostať len tie informácie, ku ktorým má prístup.
Začnite konkrétnym problémom
Úspešný RAG pilot nemusí hneď pokryť všetky firemné informácie. Začnite jednou oblasťou, v ktorej sa otázky často opakujú a hľadanie odpovedí zbytočne zaťažuje zákazníkov alebo zamestnancov. Zhromaždite spoľahlivé podklady, spíšte typické otázky a určte, ako má vyzerať užitočná odpoveď. Už prvý test vám ukáže, či riešenie dokáže skrátiť hľadanie informácií a čo treba ďalej vylepšiť.
Ak o RAG uvažujete aj vo svojej firme, dobrým východiskom sú materiály, z ktorých dnes čerpajú vaši kolegovia. Na reálnych otázkach rýchlo overíte, či má RAG pre váš konkrétny prípad prínos a aké funkcie by mal pilot obsahovať.
Ak máte nápad na využitie RAG, no neviete, ako ho uchopiť, radi vám pomôžeme posúdiť jeho prínos a technickú realizovateľnosť. Spoločne identifikujeme vhodný problém, navrhneme riešenie a premeníme váš nápad na funkčnú aplikáciu pracujúcu s vašimi firemnými informáciami.
Ozvite sa nám a poďme váš nápad zanalyzovať.
Kontakt



