RAG (Retrieval-Augmented Generation)
Röviden
A RAG (Retrieval-Augmented Generation) olyan módszer, amelyben a nyelvi modell a válasz megírása előtt kikeresi a releváns részeket a cég saját dokumentumaiból, és ezekre támaszkodva, forrásmegjelöléssel válaszol, a modell újratanítása nélkül.
A RAG-rendszer a dokumentumokat (kézikönyveket, szabályzatokat, szerződéseket, termékleírásokat) kisebb részekre bontja, és mindegyik jelentését embeddingként egy vektoradatbázisba menti. Kérdéskor a rendszer kikeresi a kérdéshez jelentésben legközelebb álló részeket, ezeket a kérdéssel együtt átadja a nyelvi modellnek, a modell pedig ezekből fogalmazza meg a választ, megjelölve a forrást. Ha egy dokumentum változik, elég azt újra feldolgozni, a modellt nem kell újratanítani.
Példa a gyakorlatból
Egy gépgyártó cég szervizeseinek több ezer oldalnyi műszaki dokumentációban kell eligazodniuk, részben angol és német nyelven. A RAG-alapú asszisztensnek magyarul tehetnek fel kérdést, például egy hibakód jelentéséről, és a válasz mellett megkapják a kézikönyv pontos fejezetét is, így az információ ellenőrizhető.
Mikor nem ez a jó választás?
A RAG csak olyan jó, mint a mögötte álló dokumentumok: elavult, egymásnak ellentmondó vagy hiányos anyagokból pontatlan válasz születik. Táblázatos adatok összesítésére, például „mennyi volt a harmadik negyedéves árbevétel”, egy adatbázis-lekérdezés megbízhatóbb. Ha a teljes tudásanyag elfér a modell kontextusablakában, külön keresőréteg sem feltétlenül kell.
Hogyan dolgozunk vele a Composite-nál?
A fejlesztés a dokumentumok átnézésével kezdődik, mert a tudásanyag minősége határozza meg a válaszokét. A keresés tiszteletben tartja a meglévő jogosultságokat, így mindenki csak azt látja, amihez hozzáfér, a válaszok pontosságát pedig előre összeállított tesztkérdésekkel mérjük.
Kapcsolódó fogalmak
- VektoradatbázisA vektoradatbázis olyan adatbázis, amely szövegek, képek vagy más tartalmak jelentését számvektorként (embeddingként) tárolja, így jelentésbeli hasonlóság alapján lehet keresni benne. Jellemzően a RAG-rendszerek tudástáraként szolgál.
- Embedding (jelentésvektor)Az embedding egy szöveg, kép vagy más tartalom jelentését leíró számsor (vektor), amelyet egy erre tanított modell állít elő. Két embedding távolsága megmutatja, mennyire hasonló a két tartalom jelentése, ezért a gépi keresés és csoportosítás alapja.
- Finomhangolás (fine-tuning)A finomhangolás (fine-tuning) egy már betanított nyelvi modell továbbtanítása saját, célzott példákon, hogy egy szűk feladatban, például adott stílusban, kimeneti formátumban vagy szakterületen pontosabban és megbízhatóbban teljesítsen.
- HallucinációA hallucináció az a jelenség, amikor egy nyelvi modell magabiztos, hihetőnek tűnő, de valótlan vagy forrással alá nem támasztott állítást fogalmaz meg, például nem létező hivatkozást, számadatot vagy jogszabályhelyet.