RAG és vektoros keresés
A Retrieval-Augmented Generation abból válaszol, amit te adtál meg a chatbotnak.
A Retrieval-Augmented Generation (RAG) az a technika, amellyel a chatbot nem általános tudásból, hanem a saját tartalmaidból válaszol. A Lexo minden chatbot válaszánál ezt a módszert használja.
Mi az a RAG?
Egy AI-modell magától csak azt tudja, amit a tanítása során megtanult. A RAG ezt egy keresési lépéssel egészíti ki: mielőtt a chatbot válaszol, a rendszer megkeresi a kérdéshez illő részeket a tudásbázisban, és ezeket adja át az AI-nak. Az AI ezekből állítja össze a választ.
Hogyan kerül be a tartalom?
Amikor beolvasol egy weboldalt vagy feltöltesz egy PDF-et (lásd Tudásbázis), a következő történik:
- A rendszer kinyeri a szöveget. Weboldalaknál kiszűri a minden oldalon ismétlődő elemeket (navigáció, lábléc), de a cég elérhetőségeit megtartja.
- A szöveget kisebb darabokra (chunkokra) bontja, darabonként körülbelül 500 karakterre, 100 karakteres átfedéssel. A vágás lehetőleg bekezdés-, sor- vagy mondathatáron történik, így egy gondolat ritkán szakad ketté.
- Minden darabot egy embedding modell vektorrá, vagyis számsorozattá alakít, amely a szöveg jelentését írja le.
- A vektorok a darabok szövegével együtt a vektoros adatbázisba kerülnek.
Modellek és adatbázis
- Válaszok: az Anthropic Claude modellje írja.
- Embedding: az OpenAI
text-embedding-3-smallmodellje, 1536 dimenziós vektorokkal. - Vektoros adatbázis: Qdrant. Minden chatbot tartalma egy közös gyűjteményben van, és minden darab a chatbot azonosítóját viseli. A keresés mindig erre az azonosítóra szűr, így egy chatbot soha nem lát más chatbot tartalmát.
A platform műszakilag más modellszolgáltatókat is támogat, de a chatbotok jelenleg a fenti modellekkel dolgoznak.
Szemantikus keresés
Amikor a látogató kérdez, a rendszer így keresi meg a hozzá illő tartalmat:
- Kérdés pontosítása: ha egy beszélgetés közbeni kérdés önmagában nem egyértelmű (például „mesélj erről bővebben” vagy egy nagyon rövid kérdés), a rendszer az előző üzenetek alapján önálló keresőkérdéssé fogalmazza át. Így az „erről” is arra a témára keres, amelyről addig szó volt.
- Vektoros keresés: a kérdést ugyanaz az embedding modell alakítja vektorrá, majd a rendszer koszinusz-hasonlóság alapján keresi meg a leginkább hasonló darabokat. A 0,3-as hasonlósági küszöb alatti találatokat elveti, és legfeljebb 8 darabot ad tovább az AI-nak.
- Ismétlődések kiszűrése: a rendszer a szükségesnél több találatot kér le, majd elhagyja az azonos szövegű darabokat, hogy a 8 hely különböző tartalommal teljen meg.
- Elérhetőségek: ha a kérdés kapcsolatra, időpontra, nyitvatartásra vagy árra vonatkozik, egy helyet a weboldalról kigyűjtött üzleti elérhetőségek kapnak.
- Termékek: ha a chatbotnál be van kapcsolva a termékajánlás, a rendszer a beolvasott termékek között is keres, és a kérdéshez illő termékeket is átadja az AI-nak. Ha a válasz konkrét terméket említ, a chatbot termékkártyát is mutathat hozzá.
Válaszadás és eszközök
Az AI a chatbot beállításaiból készült rendszerpromptot, a talált darabokat, a beszélgetés utolsó üzeneteit és (ha van) a termékinformációkat kapja meg, és ezekből írja a választ.
A chatbot eszközöket is használhat, ha ezeket beállítod: lekérdezheti egy rendelés állapotát (Rendelés állapota), időpontot foglalhat (Időpontfoglalás), és meghívhatja az általad megadott egyedi akciókat (Egyedi akciók). Ilyenkor az AI maga dönti el, mikor van szükség egy eszközre, és annak eredményét is beépíti a válaszba.
Gyorsítótár
Ha egy chatbottól ugyanazt a kérdést teszik fel újra, a rendszer legfeljebb 30 percig a korábban adott választ adhatja vissza, így az gyorsabban érkezik.
- Az egy látogató saját adataira vonatkozó kérdések (rendelés, foglalás, illetve e-mail címet vagy hosszabb számot tartalmazó kérdések a webshoppal vagy időpontfoglalással rendelkező chatbotoknál) soha nem kerülnek a közös gyorsítótárba, és nem is onnan kapnak választ.
- Azok a válaszok sem kerülnek a gyorsítótárba, amelyeknél a chatbot eszközöket használhatott.
Hallucináció megelőzése
A rendszerprompt megtiltja az AI-nak, hogy kitaláljon bármit. Ha a válasz nincs benne a talált tartalomban, a chatbot őszintén megmondja, hogy erről nincs információja.
Ha egy kérdésre nincs elég hasonló találat, az AI ettől még válaszol, és jelzi, hogy erről nincs információja. A Tartalék üzenet (Testreszabás → Üzenetek) akkor jelenik meg, ha a chatbotnak még egyáltalán nincs tudásbázisa, ha hiba történik, ha elfogyott a csomagod üzenetkerete, vagy ha lejárt a próbaidőd.