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 podkladovWeb, dokumenty, cenník a vlastné otázky a odpovede sa spracujú do zdrojovej databázy
Testovací režimChatbot odpovedá, človek kontroluje presnosť a zdroje
LadenieDoplnenie chýbajúcich podkladov tam, kde chatbot odpovedať nevedel
Ostrá prevádzkaChatbot 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.

Súvisiace

Napíšte nám, čo riešite

Stačí e-mail a pár viet. Ozveme sa do jedného pracovného dňa s návrhom riešenia a orientačnou cenou. Úvodná konzultácia je zdarma a nezáväzná.

Ozveme sa do jedného pracovného dňa. Údaje použijeme na odpoveď na váš dopyt. Ochrana údajov