Ako AI chatbot neklame: RAG a odpovede len z vašich podkladov
· 6 min čítania
Prečo si jazykové modely vymýšľajú a ako RAG obmedzí odpovede chatbota len na obsah vašej firmy so zdrojmi. Čo to znamená v praxi a kde sú hranice.
Jazykový model si niekedy odpoveď vymyslí, pretože generuje najpravdepodobnejší text, nie overený fakt. Tomu sa hovorí halucinácia. RAG (retrieval-augmented generation) tomu zabráni tak, že model pred odpoveďou najprv nájde relevantné časti vašich vlastných podkladov a odpovedá len z nich, so zdrojom pri každej odpovedi, ktorý si vy aj zákazník viete overiť.
Prečo si model vymýšľa
Jazykový model funguje tak, že na základe otázky predpovedá najpravdepodobnejšie ďalšie slovo, znova a znova, kým nevznikne celá odpoveď. Model nemá vedomosti v zmysle overiteľných faktov, má naučené vzory jazyka a témy zo svojich trénovacích dát, ktoré navyše siahajú len po istý dátum a väčšinou vôbec neobsahujú informácie o konkrétnej malej firme. Keď sa ho niekto opýta na niečo konkrétne o vašej firme, napríklad cenník, otváracie hodiny alebo konkrétny produkt, model to buď nevie, alebo si vzor doplní tak, aby znel prirodzene. Výsledok znie sebavedomo aj vtedy, keď je nesprávny, pretože model negeneruje jazyk s indikátorom neistoty, generuje ho rovnako plynulo bez ohľadu na to, či odpovedá správne.
Čo je RAG
RAG rozdelí odpoveď na dva kroky. Najprv systém vyhľadá v podkladoch firmy časti, ktoré s otázkou súvisia, a až potom ich spolu s otázkou pošle modelu s pokynom odpovedať iba na základe nich. Model teda pri každej odpovedi dostáva nový, aktuálny kontext, nie len to, čo si „pamätá" z trénovania spred mesiacov či rokov.
Vyhľadávanie cez embedding
Aby systém vedel nájsť relevantné časti, prevedie text podkladov aj otázky na embedding, číselné vyjadrenie významu textu, a porovná, ktoré časti podkladov sú významovo najbližšie k otázke. Nejde o hľadanie presných slov, ale o podobnosť významu, takže systém nájde relevantnú pasáž aj vtedy, keď zákazník použije iné slová než dokument, napríklad sa opýta na „vrátenie tovaru", hoci dokument hovorí o „reklamačnom poriadku". Tieto číselné vyjadrenia sa ukladajú vo vektorovej databáze, ktorá je optimalizovaná práve na rýchle hľadanie podľa podobnosti, nie podľa presnej zhody textu, a zvláda to aj pri tisíckach strán podkladov v desatinách sekundy.
Odpoveď so zdrojom
Model potom dostane otázku spolu s nájdenými pasážami a pokyn odpovedať len z nich. Pri odpovedi sa zobrazí, z ktorej stránky alebo dokumentu pochádza, vy aj zákazník si to viete overiť jedným klikom. Ak sa relevantná pasáž nenájde, chatbot má odpovedať, že to nevie, a ponúknuť kontakt namiesto vymyslenej odpovede, aj za cenu, že odpoveď bude znieť menej istotne.
Príklad z praxe
Typický prípad: zákazník sa chatbota firmy predávajúcej kotly opýta, či konkrétny model podporuje diaľkové ovládanie cez aplikáciu. Bez RAG by model odpovedal na základe všeobecných znalostí o kotloch z trénovacích dát, čo pri konkrétnom modeli často nesedí. S RAG systém najprv nájde technický list presne tohto modelu, a až z neho odpovie, či funkciu podporuje alebo nie, so zdrojom, na ktorý sa dá kliknúť. Ak takýto technický list vo firemných podkladoch chýba, chatbot má povedať, že to nevie, namiesto toho, aby si odpoveď domyslel. Rovnaký princíp platí pri otázkach na dostupnosť tovaru, aktuálne akcie alebo lehoty dodania, teda pri informáciách, ktoré sa menia a jazykový model by ich bez čerstvého zdroja jednoducho nemohol poznať.
RAG nie je fine-tuning
Niekedy sa RAG zamieňa s fine-tuningom, ktorý model dodatočne dotrénuje na vlastných dátach. Fine-tuning je drahší, pomalší na aktualizáciu a stále nezaručuje, že si model niečo nevymyslí, pretože znalosti ostávajú „zapečené" v jeho váhach bez viditeľného zdroja. RAG naopak necháva model nezmenený a len mu pri každej otázke doručí čerstvé podklady, takže zmena v obsahu firmy sa prejaví okamžite a odpoveď sa dá vždy vystopovať k zdroju.
Čo to znamená v praxi
Pre AI chatbot na vašom webe to znamená, že odpovedá len z toho, čo mu dáte k dispozícii: webové stránky, dokumenty, cenník, prípadne vlastné otázky a odpovede, ktoré majú prioritu pred ostatnými zdrojmi. Keď zmeníte cenník alebo pridáte novú službu, stačí aktualizovať zdrojový obsah a chatbot odpovedá podľa aktuálnej verzie, bez preškoľovania modelu a bez zásahu do jeho nastavenia. To isté platí pri sezónnych zmenách, napríklad dočasne upravených otváracích hodinách, stačí upraviť zdrojovú stránku a chatbot ju zohľadní pri najbližšej odpovedi.
Ako to overiť sami
Pri výbere AI chatbota sa oplatí spýtať dodávateľa priamo, ako presne odpovede vznikajú:
- Zobrazuje chatbot zdroj pri každej odpovedi? Ak nie, neviete si overiť, z čoho odpoveď vychádza.
- Čo sa stane, keď odpoveď v podkladoch nie je? Správna odpoveď je priznanie, že to systém nevie, nie dopočítaná domnienka.
- Dá sa obsah, z ktorého chatbot čerpá, ľahko aktualizovať? Ak zmena cenníka alebo produktu vyžaduje zložitý proces, riziko zastaraných odpovedí rastie.
- Má chatbot prioritu pre vlastné otázky a odpovede? Pri citlivých alebo často kladených otázkach je presnejšie mať pripravenú presnú odpoveď než sa spoliehať len na automatické vyhľadávanie.
Vyskúšajte si chatbota aj v testovacom režime na otázkach, o ktorých viete, že odpoveď v podkladoch firmy nie je. Ak si namiesto priznania nevedomosti niečo domyslí, RAG nie je nastavený správne, a stojí za to nechať dodávateľa nastavenie doladiť skôr, než chatbot príde do kontaktu s reálnymi zákazníkmi.
Kde sú hranice
RAG výrazne zníži riziko halucinácie, úplne ju ale nevylúči. Pri nejasnej otázke alebo protichodných podkladoch sa môže model pomýliť aj s dobrým zdrojom, napríklad keď dva dokumenty uvádzajú rozdielnu cenu tej istej služby a systém si musí vybrať, ktorý použiť. Preto:
- Zdroje treba udržiavať aktuálne. RAG je presne taký dobrý, ako podklady, z ktorých čerpá, zastaraný cenník znamená zastaranú odpoveď aj s RAG.
- Pri citlivých témach, napríklad zdravotné odporúčania, by mal chatbot radšej odkázať na človeka než odpovedať, aj keby podklad na odpoveď mal.
- Vlastné otázky a odpovede majú prioritu pred automaticky nájdeným obsahom, pre časté alebo citlivé otázky je to presnejšie riešenie než spoliehať sa na to, že systém nájde správnu pasáž sám.
- Formulácia otázky môže ovplyvniť, čo sa nájde. Pri nejednoznačnej otázke systém niekedy nájde len časť relevantného obsahu, preto sa dobré nastavenie testuje aj na nejasných alebo viacvýznamových otázkach, nielen na tých jednoduchých.
Ako to nastavujeme
| Krok | Čo sa deje |
|---|---|
| Zber podkladov | Web, dokumenty, cenník a vlastné otázky a odpovede sa spracujú do zdrojovej databázy |
| Testovací režim | Chatbot odpovedá, človek kontroluje presnosť a zdroje |
| Ladenie | Doplnenie chýbajúcich podkladov tam, kde chatbot odpovedať nevedel |
| Ostrá prevádzka | Chatbot beží naživo, zdroje sa priebežne aktualizujú |
Viac o tom, čo presne AI chatbot robí a koľko stojí, nájdete v texte koľko stojí AI chatbot.
Zhrnutie
RAG obmedzí AI chatbota na odpovede z vašich vlastných podkladov so zdrojom pri každej odpovedi, čím výrazne zníži riziko vymyslených odpovedí, presnosť ale stále závisí od toho, ako aktuálne a jednoznačné podklady mu poskytnete. Ak chcete vidieť, ako by to fungovalo na vašom obsahu, ozvite sa cez formulár nižšie.