Když někomu ukážete AI chatbota, který odpovídá zákazníkům podle obchodních podmínek konkrétního e-shopu, dřív nebo později padne otázka: "A jak to ví? Vždyť ChatGPT si běžně vymýšlí." Je to dobrá otázka a odpověď na ni je jedna zkratka: RAG. Kdo se rozhoduje o nasazení AI do zákaznické podpory, měl by ji znát, protože právě RAG rozhoduje o tom, jestli chatbot odpovídá z vašich dat, nebo z toho, co si "pamatuje" z internetu.
Nebojte se, nebude to přednáška pro programátory. Zkusíme to vysvětlit tak, aby to dávalo smysl komukoli, kdo provozuje web nebo e-shop.
Nejdřív problém: co jazykový model umí a co ne
Velké jazykové modely (GPT, Claude, Gemini a další) se učí na obrovském množství textů z internetu. Díky tomu umí skvěle psát, rozumět otázkám položeným vlastními slovy, shrnovat, překládat a chovat se v konverzaci přirozeně. Mají ale dvě zásadní omezení, která si lidé často neuvědomují.
Za prvé, model neví nic o vaší firmě. Nezná vaše ceny dopravy, vaši lhůtu na vrácení zboží, ani že máte v pátek zavřeno. V trénovacích datech vaše obchodní podmínky nebyly, a i kdyby náhodou byly, jsou tam pomíchané s podmínkami milionu jiných obchodů.
Za druhé, když model něco neví, nemá přirozený mechanismus, jak říct "nevím". Je to systém trénovaný na to, aby generoval věrohodně znějící text, a tak ho vygeneruje. Vznikne odpověď, která zní jistě a je špatně. V oboru se tomu říká halucinace, ale klidně tomu říkejte vymýšlení. Pro zákaznickou podporu je to nepřijatelné: chatbot, který zákazníkovi s jistotou slíbí dopravu zdarma nad 500 Kč, když ji máte od 1 500 Kč, napáchá víc škody než užitku.
Nabízí se řešení: dotrénovat model na vašich datech. Jenže to je drahé, pomalé, každá změna ceníku by znamenala trénovat znovu, a hlavně to halucinace nijak spolehlivě neřeší. Proto se v praxi používá jiná cesta.
Co je RAG
RAG je zkratka z anglického Retrieval-Augmented Generation, česky zhruba "generování rozšířené o vyhledávání". Za tím krkolomným názvem je jednoduchá myšlenka: než model odpoví, nejdřív se mu vyhledají relevantní části vašich podkladů a přiloží se mu k otázce s pokynem "odpověz podle tohohle".
Představte si nového brigádníka na podpoře. Je chytrý, umí dobře psát a jednat s lidmi, ale o vaší firmě neví nic. Máte dvě možnosti. Buď ho necháte půl roku školit, než začne odpovídat (to je dotrénování), nebo mu dáte k ruce dobře uspořádanou složku s podmínkami, ceníkem a odpověďmi na časté dotazy a řeknete: "Než odpovíš, vždycky se podívej sem, a když to tam nenajdeš, řekni, že to zjistíš." To je RAG. Brigádník je jazykový model, složka jsou vaše data a to "podívej se sem" je vyhledávání.
Jak to funguje krok za krokem
Celý proces má tři fáze. První proběhne jednou při nastavení, zbylé dvě při každé otázce zákazníka.
1. Příprava znalostní báze
Na začátku nahrajete podklady: PDF s obchodními podmínkami, FAQ, stránky webu, produktový feed z Heureky nebo Google Shopping. Systém z nich vytáhne text a rozdělí ho na menší úseky, třeba po odstavcích. Každý úsek se pak převede na tzv. embedding, což je řada čísel, která zachycuje význam textu. Úseky s podobným významem mají podobná čísla, i když používají jiná slova. Tyhle číselné otisky se uloží do speciální databáze (říká se jí vektorová), kde se dá velmi rychle hledat podle významu, ne podle přesné shody slov.
Tohle je důležitý rozdíl oproti klasickému fulltextu. Když zákazník napíše "můžu to poslat zpátky, když mi to nesedí", vektorové vyhledávání najde odstavec o vrácení zboží do 14 dnů, i když v něm slovo "nesedí" ani "zpátky" není.
2. Vyhledání relevantních částí
Přijde otázka od zákazníka. Systém ji převede stejným způsobem na čísla a najde v databázi několik úseků, které jsou jí významově nejblíž. Typicky jich vezme pár až desítky, podle toho, jak je otázka široká. Lepší systémy tady dělají víc kroků: prohledávají v několika úrovních, výsledky přehodnotí a seřadí, případně vyhodnotí, jestli je vůbec něco relevantního našly. Kvalita téhle fáze rozhoduje o kvalitě odpovědi víc než cokoli jiného.
3. Sestavení odpovědi
Teprve teď přichází ke slovu jazykový model. Dostane otázku zákazníka, nalezené úseky z vašich podkladů, případně historii konverzace a instrukce, jak má odpovídat: v jakém tónu, co dělat, když odpověď v podkladech není, kdy předat člověku. A z toho napíše odpověď. Model tu funguje jako někdo, kdo umí výborně formulovat, ale fakta bere výhradně z toho, co dostal na stůl.
Proč to řeší ty dva problémy z úvodu
Model neznal vaši firmu? Teď dostává u každé otázky ty části vašich podkladů, které se jí týkají. Vaše data se stanou součástí každé odpovědi, aniž by se model musel cokoli "učit".
Model si vymýšlel? Když má instrukci odpovídat jen z dodaných podkladů a v nich odpověď není, správně nastavený systém řekne, že to neví, a nabídne kontakt na člověka. Není to stoprocentní pojistka, žádná neexistuje, ale je to zásadní rozdíl oproti modelu, který odpovídá zpaměti.
A je tu ještě třetí výhoda, na kterou se často zapomíná: aktuálnost. Změníte cenu dopravy, upravíte podmínky, přidáte nový produkt do feedu. Stačí aktualizovat znalostní bázi a od další otázky odpovídá chatbot podle nových informací. Žádné přetrénování, žádné čekání.
Jak to vypadá v Chattie
Všechno výše popsané je základ toho, jak funguje Chattie, jen s několika vrstvami navíc, které jsou pro zákaznickou podporu důležité. Když přijde zpráva, systém nejdřív rozpozná, o co jde: téma, záměr (dotaz, stížnost, reklamace) a náladu zákazníka. Pak proběhne víceúrovňové vyhledání ve vektorové databázi vašich podkladů. Následuje kontrola rizik, tedy vícevrstvé vyhodnocení, jestli je bezpečné odpovědět automaticky, nebo jestli má konverzace jít rovnou k člověku. Podle nálady zákazníka se přizpůsobí tón: frustrovaný zákazník dostane klidnější a empatičtější odpověď než někdo, kdo se ptá na velikost trička. A teprve pak se sestaví samotná odpověď z nalezených podkladů.
Celý průběh si můžete prohlédnout na ukázce AI pipeline na našem webu, kde je krok za krokem vidět, co se s jednou zprávou stane od přijetí po odpověď.
Co z toho plyne pro vás
Když rozumíte, jak RAG funguje, vyplývá z toho pár praktických věcí, které rozhodují o tom, jestli AI chatbot bude fungovat dobře.
Kvalita odpovědí stojí a padá s kvalitou podkladů. Chatbot nemůže vědět nic, co mu nedáte, a když jsou podklady zastaralé nebo si odporují, bude zastaralý a rozporný i on. Aktualizace obchodních podmínek by měla být zároveň aktualizací znalostní báze.
Struktura podkladů pomáhá. Jasně napsané FAQ s otázkou a odpovědí funguje lépe než dlouhý souvislý text, ve kterém je odpověď schovaná uprostřed odstavce. Není to nutnost, ale zlepší to výsledky.
Nezodpovězené dotazy jsou to nejcennější, co z provozu dostanete. Každá otázka, na kterou chatbot neuměl odpovědět, vám říká, co v podkladech chybí. Po pár týdnech doplňování obvykle úspěšnost výrazně stoupne.
A poslední věc: RAG neznamená, že vaše data se posílají někam "na trénování". Vyhledávání probíhá ve vaší znalostní bázi, model dostane při odpovědi jen relevantní úryvky a nic si z nich trvale neukládá. U Chattie běží data na serverech v EU a v souladu s GDPR; podrobnosti najdete v našich zásadách zpracování osobních údajů.
Vyzkoušejte to na vlastních podkladech
Nejlepší způsob, jak pochopit RAG, je vidět ho v akci. Nahrajte své obchodní podmínky a pár stránek webu, položte chatbotu otázky, které vám zákazníci píší nejčastěji, a sledujte, odkud odpovědi berou. V bezplatném plánu Chattie to zvládnete za odpoledne, bez programování a bez závazků. A pokud vás zajímá, jak by to fungovalo na větším objemu dat nebo s produktovým feedem, napište nám a ukážeme vám to naživo.


