A jelenlegi nagy nyelvi modellek (LLM - large language models) talán a legjobb generalisták amik valaha léteztek a digitális térben. Milliárdnyi adaton betanítva úgy tűnhet, hogy mindenre is tudják a választ.
De a jó generalisták nem feltétlenül jó specialisták. Ha már használtál valamilyen LLM-et speciális területre fókuszálva akkor feltűnhetett, hogy nem feltétlenül van meg a teljes kontextusa a témában, nem biztos, hogy minden információ birtokában van és naprakész a tudásanyaga.
Ez az a pont ahol a RAG szóbajön. A visszakereséssel bővített generálás egy olyan technika amit az LLM-el használva kibővíthető, javítható, specializálható a nyelvi modellek válasza. Azzal, hogy domain specifikus tudáshoz nyújtunk hozzáférést a cégünkről szakterületünkről az AI-nak a RAG hatalmas előnyt tud biztosítani az AI-al támogatott rendszereknek.
A RAG segít abban, hogy a szakterületünkön felhalmozott tudáshoz a felhasznált nyelvi modell hozzáférjen (zárt környezetben) és ennek a tudásnak a felhasználásával olyan kontextusa és rálátása legyen az adott témáról ami másként nem lenne elérhető.
Például egy szoftver dokumentációhoz készíthetünk egy chatbotot amit ha megkérdezünk arról, hogy hogyan kell bizonyos funkciókat használni, az az LLM szövegértési képességét és tudását valamint a dokumentációt felhasználva elmondja nekünk azt, hogy hogyan is kell használnunk a kért funkciót.
De hogy is működik mindez, hogy adhatjuk az információt át az AI modellnek?
A jó az, hogy nem kell átadnunk, nem kell feltanítani egy saját modellt. A RAG-el egyszerűen zárt hozzáférést biztosítunk a modellnek a tudásbázisunkhoz, hogy az ott található információt beépítse a válaszába menet közben.
A RAG három komponensre bontható:
1: Encodolás
2: Visszakeresés
3: Generálás
Első lépésként vesszük a tudásbázisunkat és átalakítjuk olyan formára, hogy azt az AI modell megértse és fel tudja dolgozni. Ez azt jelenti, hogy vektorizálni kell az adatokat. A vektorok matematikai reprezentációk, melyek a szavak, dokumentumok jelentését és kontextusát írják le úgy hogy azt az MI fel tudja dolgozni, megérteni és felhasználni.
Amikor egy teljes dokumentumot alakítunk vektorokká, azt nem egy lépésben tesszük meg. Először tokenizáljuk a szövegeket, vagyis kisebb kezelhetőbb egységekre bontjuk. Ezek szavak, szószegmensek és ezeket vektorizáljuk.
Ezeket egy vektor adatbázisban tároljuk el amik nagy mennyiségű vektor hatékony tárolására és kezelésére terveztek.
Készen vagyunk a tudásanyagunk vektorizálásával, jöhet a visszakaresés. Hogyan is tudjuk ezt megtenni, hogy használja fel ezt az adatbázist az AI, az LLM?
Amikor a felhasználó feltesz egy kérdést, akkor a kérdésből egy vektor, vektor sorozat készül a kereséshez. Az LLM-ek működésének alapja, vagyis az, hogy képes befejezni a mondatot, azon a felvetésen nyugszik, hogy a hasonló szöveges fogalmak hasonló vektorokkal írhatóak le.
A visszakereséssel támogatott generálás (RAG) esetén a vektor adatbázisunkban a kérdésből generált vektort használja a rendszer hasonlóság keresésére, hogy megtalálja a megfelelő vektorokat. Így megtalálva a legrelevánsabb információkat. Ezután a vektor adatbázis visszaadja a megfelelő szöveges tartalmakat ami a legvalószínűbb és legrelevánsabb információ lehet a keresésnek megfelelően.
Visszanyertük a releváns információt a tudásbázisunkból, most jöhet a generálás.
Ez már a könnyű része a “munkának”. Ami ezután következik az gyakorlatilag a prompt engineering egy változata. Minél több kontextust adunk az MI alapú chatbotnak annál pontosabb, relevánsabb választ tud adni.
A RAG ezt segíti és viszi tovább egy lépéssel, úgy hogy a vektoradatbázisból kikeresett információkat hozzáadja az eredeti kérdéshez és így továbbítja azt az LLM-nek. Ez teszi lehetővé a legrelevánsabb információkra támasztott válaszadást. Így tudjuk sokkal relevánsabbá tenni az AI válaszát és még naprakész információkat is tudunk nyújtani neki a nélkül, hogy finomhangolni kellene egy saját AI modellt.
Itt egy egyszerű ábra a folyamatról:
A fekete nyilak az enkódolási folyamatot jelölik, amikor a dokumentumokat vektorokká alakítjuk, majd eltároljuk egy vektorbázisban.
A zöld nyilak a lekérdezési folyamatot mutatják: ekkor a kérdést szintén vektorrá alakítjuk, hasonlósági keresést végzünk a legrelevánsabb információk megtalálására, majd a lekérdezést az így kiegészített kontextussal együtt továbbítjuk az LLM-hez.
A kék nyíl a generálási fázist szemlélteti, amely során az LLM a kiegészített kontextus alapján friss, iparág-specifikus választ ad.
Így tehetjük az AI által adott válaszokat sokkal relevánsabbá és értékesebbé a felhasználók számára – anélkül, hogy magát a modellt kellene finomhangolni.
Mikor tud igazán kitűnni a RAG?
A leginkább az iparág specifikus területeken. Ha egy szakterületen készítenél egy alkalmazást a RAG segít biztosítani azt, hogy a nagy nyelvi modellek megbízható és precíz nem utolsó sorban naprakész információk alapján válaszoljanak.
Ilyen területek lehetnek például:
Szerződések nyomonkövetése: Egy AI asszisztens segítségével a RAG rendszert használva kialakíthatunk egy olyan adatbázist ahol valamennyi szerződésünk feltöltésre kerül és az asszisztens azonnal meg tudja válaszolni, hogy milyen élő szerződésünk van egy adott céggel, milyen szolgáltatások nyújtására vagyunk szerződve, mire kell figyelnünk, anélkül, hogy a szerződéseket nekünk kellene átnéznünk.
Jog: Egy jogi kutatást segítő asszisztens, amely a RAG módszer segítségével hozzáférhet egy kiterjedt jogeset-, jogszabály adatbázishoz. Ez lehetővé teszi, hogy az MI relevánsabb válaszokat adjon, konkrét esetekre és a törvényre hivatkozva támassza alá válaszait, nem összekeverve azt más országok jogszabályaival eseteivel.
Technikai dokumentáció: Egy programozókat segítő asszisztens ami a RAG rendszert használva hozzáférést kap a cég szoftver dokumentációjához, kódrészletekhez és API referenciákhoz. Ez segíti az AI asszisztenst, hogy a fejlesztők pontosabb és kontextus specifikus iránymutatást, segítséget kapjanak, könnyebb legyen a hibajavítás vagy a fejlesztési folyamat.
Termék ajánló: Egy termékajánló rendszer amely a RAG segítségével fér hozzá a vállalat termékkatalógusához, vásárlói értékelésekhez. Ennek köszönhetően az MI relevánsabb és személyre szabottabb termékajánlásokat tud tenni a felhasználó preferenciáinak megfelelően.
A mesterséges intelligencia igazi értéke akkor mutatkozik meg, amikor a saját céges tudásoddal egészítjük ki. Mi, az SRG Groupnál, ebben segítünk: olyan AI-alapú megoldásokat építünk, amelyek nem általános válaszokat adnak, hanem a te vállalkozásod dokumentumaiból, adatbázisaiból és folyamataiból merítenek.
Ez a retrieval-augmented generation (RAG) technológia lényege.
Mit jelent ez a gyakorlatban?
Mi gondoskodunk róla, hogy a teljes folyamat – a dokumentumok feldolgozásától kezdve a vektoros keresésig és az AI integrációjáig – átlátható és megbízható rendszerben működjön.
Az eredmény?
A RAG nem csupán technológia – ez a következő lépés a digitális versenyben, ami segít kiemelkedni a piacodon.