Mi az a RAG? A visszakeresés-kiegészített generálás egyszerűen elmagyarázva
A RAG (visszakeresés-kiegészített generálás) egy módszer arra, hogy az AI-modell a saját információid alapján válaszoljon a kérdésekre. Amikor valaki kérdez, az alkalmazásod először megkeresi a dokumentumaidban a legrelevánsabb részeket, majd ezeket a kérdéssel együtt átadja a modellnek. A modell ebből a szövegből írja meg a választ, ahelyett hogy csak arra hagyatkozna, amit a tanítása során véletlenül megtanult.
Miért fontos a RAG, ha AI-val építkezel
A nagy nyelvi modell sokat tud általában a világról, de semmit nem tud a vállalkozásodról: az áraidról, a szabályzataidról, a termékkézikönyvedről, a múlt heti támogatási jegyekről. Emellett van egy tanítási határideje, így nem tud semmi frissről. Ha mégis kérdezed, magabiztos, hihető, de téves választ adhat.
Ezt háromféleképpen lehet orvosolni:
| Megközelítés | Mit csinál | Mire jó |
|---|---|---|
| Mindent beillesztesz a promptba | Minden kérdésnél elküldöd az összes dokumentumot | Kis mennyiségű szöveg – néhány oldal |
| RAG | Megkeresed a dokumentumokban a releváns részeket, és csak azokat küldöd el | Nagyobb vagy változó gyűjtemények: súgóközpontok, kézikönyvek, jegyzetek |
| Finomhangolás | A modellt tovább tanítod példákon | Hangnem, formátum és ismétlődő feladatok – nem változó tények |
A mai modellek hosszú promptokat is elfogadnak, ezért egy rövid GYIK-hez az első lehetőség gyakran elég. A RAG akkor éri meg, ha több szöveged van, mint amennyit minden alkalommal el akarsz küldeni – mert minden elküldött szó pénzbe és időbe kerül (lásd: hogyan számolnak fel díjat az LLM API-k).
Ha „csevegés a dokumentumainkkal” funkciót, támogatási asszisztenst vagy belső tudásmegosztó eszközt építesz, szinte biztosan valamilyen formájú RAG-et építesz.
Hétköznapi hasonlat
Képzelj el egy nyílt könyvvel írt vizsgát. Az a diák, akinek emlékezetből kell válaszolnia, félremlékezhet vagy blöfföl. Aki előbb a megfelelő oldalakat lapozhatja fel, elolvassa őket, és csak utána válaszol, sokkal megbízhatóbb – feltéve, hogy megtalálja a megfelelő oldalakat.
- A diák a nyelvi modell.
- A tankönyv a dokumentumaid.
- A megfelelő oldalak felkeresése a visszakeresés.
- A válasz megírása ezekből az oldalakból a generálás.
A RAG a nyílt könyves változat. És ahogy a vizsgán is, a válasz minősége nagyban függ attól, hogy a megfelelő oldalakat megtalálták-e.
Hogyan működik a RAG, lépésről lépésre
Egy tipikus RAG-felépítésnek két fázisa van.
A dokumentumaid előkészítése (előre elvégezve):
- Gyűjtsd össze a forrásanyagot – súgócikkeket, PDF-eket, szabályzatokat, termékadatokat.
- Darabold fel: a hosszú dokumentumokat kisebb részekre bontsd, gyakran néhány bekezdésnyi darabokra, hogy a keresés csak a releváns részt adja vissza.
- Ágyazd be minden darabot: küldd el egy beágyazó (embedding) modellnek, amely a szöveget beágyazássá alakítja – ez egy hosszú számsor, amely a jelentését rögzíti. A hasonló témájú szövegek hasonló számokat kapnak.
- Tárold a darabokat és a beágyazásukat olyan adatbázisban, amely hasonlóság alapján tud keresni (gyakran vektoradatbázisnak vagy vektorindexnek nevezik).
Kérdés megválaszolása (minden alkalommal lefut):
- Ágyazd be a kérdést ugyanazzal a beágyazó modellel.
- Keress vissza azokat a darabokat, amelyek beágyazása a legközelebb van a kérdés beágyazásához – mondjuk a legjobb ötöt.
- Építsd fel a promptot: az utasításokat, a visszakeresett darabokat és a kérdést.
- Generálj: a nyelvi modell ezen darabok alapján írja meg a választ, ideális esetben megjelölve, melyiket használta.
A jelentés szerinti keresés teszi ezt működőképessé: a „pénzem visszaszerzése” kérdéshez megtalálható a „Visszatérítési szabályzat” című darab is, pedig egyetlen szó sem egyezik.
Munkapélda: egy edzőterem súgóasszisztense
Tegyük fel, hogy egy edzőteremnek 40 súgócikke van, és chat-asszisztenst szeretne a honlapjára. Egy tag megkérdezi: „Szüneteltethetem a tagságomat, amíg utazom?”
Az app beágyazza a kérdést, és visszakeresi a három legközelebbi darabot. Az egyik így szól:
Tagság befagyasztása: A havi díjas csomagok tagjai évente legfeljebb
2 hónapra befagyaszthatják a tagságukat. Ezt a recepción vagy
az alkalmazásban kell kérni legalább 7 nappal a befagyasztás
kezdete előtt.
A modellnek küldött prompt nagyjából így néz ki:
Te a Northside Gym súgóasszisztense vagy.
Csak az alábbi források alapján válaszolj. Ha a válasz nincs bennük,
mondd meg, hogy nem tudod, és javasold, hogy keressék fel a recepciót.
Nevezd meg, melyik forrást használtad.
[1. forrás: Tagság befagyasztása] A havi díjas csomagok tagjai...
[2. forrás: A tagság lemondása] ...
[3. forrás: Vendégbérletek] ...
Kérdés: Szüneteltethetem a tagságomat, amíg utazom?
A modell pedig így válaszol: „Igen – havi díjas csomag esetén évente legfeljebb két hónapra befagyaszthatod a tagságodat. Ezt a recepción vagy az alkalmazásban kell kérni legalább 7 nappal előre (forrás: Tagság befagyasztása).”
Az edzőterem semmit nem tanított újra. Ha megváltoztatja a befagyasztási szabályt, frissíti a cikket, az app újra beágyazza a darabot, és a következő válasz már ezt tükrözi.
Kulcsfogalmak
| Fogalom | Jelentés |
|---|---|
| LLM | Nagy nyelvi modell – az AI, amely megírja a választ. Lásd: mi az LLM. |
| Beágyazás (embedding) | Számsor, amely egy szövegrész jelentését képviseli. |
| Beágyazó modell | Olyan modell, amely beágyazásokat állít elő. Általában külön van a csevegőmodelltől, és sokkal olcsóbb. |
| Darab (chunk) | Egy dokumentumrész, akkora méretben, hogy önmagában is visszakereshető legyen. |
| Vektoradatbázis / vektoros keresés | Olyan tárolás, amely hasonló beágyazású elemeket talál. Néhány hagyományos adatbázis is kínálja – például a Postgres a pgvector bővítménnyel. |
| Top-k | Kérdésenként hány darabot keresünk vissza. |
| Hibrid keresés | A jelentés alapú keresés kombinálása a hagyományos kulcsszavas kereséssel, ami a pontos kifejezéseknél, például termékkódoknál segít. |
| Kontextusablak | Az a maximális szövegmennyiség, amelyet a modell egy kérésben fel tud dolgozni. |
| Alapozás / hivatkozások | A válasz kötése konkrét visszakeresett forrásokhoz, és ezek megmutatása. |
Gyakori tévhitek
- „A RAG tanítja a modellt az adataimon.” Nem. A modell semmit nem változik; a kérdés pillanatában csak plusz szöveget olvas.
- „A RAG azt jelenti, hogy nincsenek többé hallucinációk.” Azt jelenti, hogy kevesebb van. Ha a keresés nem találja meg a megfelelő darabot, vagy a válasz nincs a dokumentumaidban, a modell még mindig tippelhet. Utasítsd, hogy mondja: „nem tudom”, és teszteld olyan kérdésekkel, amelyek válaszait ismered.
- „Speciális vektoradatbázisra van szükségem.” Gyakran nincs. Kisebb adatmennyiségnél a meglévő adatbázisodhoz adott vektoros bővítmény, vagy akár egyszerű kulcsszavas keresés is elég lehet.
- „A nagyobb darabok jobbak.” Túl nagyok esetén sok irreleváns szöveget küldesz (több költség, több zavar); túl kicsik esetén a darab elveszíti azt a kontextust, amely értelmessé tette. Számolj a finomhangolással.
- „Csak töltsünk fel mindent.” Az elavult, duplikált vagy egymásnak ellentmondó dokumentumok ellentmondó válaszokat eredményeznek. A forrásanyag tisztítása gyakran a legnagyobb javulás, amit elérhetsz.
- „Bárki láthat bármilyen dokumentumot.” Csak ha úgy építed meg. Ha bizonyos dokumentumok csak bizonyos felhasználóké, a keresésnek magának kell szűrnie aszerint, ki kérdez – különben az asszisztens az egyik ügyfél adatait idézheti egy másiknak.
Mibe kerül
Egy RAG-funkciónak általában három futó költsége van: a dokumentumaid beágyazása (kicsi, és főleg egyszeri), minden kérdés beágyazása (elenyésző), és a nyelvi modell hívása (ez a fő költség, amely a küldött darabok számával nő). Ehhez jön a tárolás a adatbázisodban. Az AI-szolgáltató ezeket a saját fiókodra számlázza, ezért állíts be ott költési limitet.
Mit kérj az AI-építődtől
- „RAG építése előtt ellenőrizd: elég kicsi a tartalmunk ahhoz, hogy egyszerűen beletegyük a promptba?”
- „Daraboljad a súgócikkeket néhány bekezdésnyi részekre, őrizd meg minden darab címét és forráslinkjét, a beágyazásokat pedig tárold az adatbázisunkban.”
- „Használj hibrid keresést – jelentés alapút és kulcsszavasat –, hogy a termékkódok is egyezzenek.”
- „Mondd meg a modellnek, hogy csak a visszakeresett forrásokból válaszoljon, mondja meg, ha nem tudja, és minden válasz alatt mutassa a forrásokat.”
- „Csak azokat a dokumentumokat keresse, amelyeket a bejelentkezett felhasználó láthat.”
- „Szerkesztéskor a dokumentumot automatikusan ágyazd be újra.”
- „Az AI-szolgáltató kulcsa a szerveren maradjon, titokként, sosem a böngészőben.”
- „Naplózd minden kérdést, a visszakeresett darabokat és a választ, hogy átnézhessem a rossz válaszokat.”
RAG a Mythexben
A Mythex nem tartalmaz kész tudásbázis- vagy RAG-terméket. Azt csinálja, hogy megírja hozzá a kódot az alkalmazásodon belül: te hozod a dokumentumaidat és a saját AI-szolgáltatód kulcsát, amelyet projekttitokként tárolunk, az ügynök pedig felépíti a visszakeresési és a csetes részt, a projekt Postgres adatbázisát használva tároláshoz. A szolgáltató használata a saját szolgáltatói fiókodra számlázódik, nem a Mythex-kreditekre. A dokumentáció azt javasolja, hogy egy egyszerű AI-funkcióval kezdj, és a RAG-et akkor add hozzá, ha az már működik – lásd: AI-alkalmazás építése, illetve a MI-chatbot-alkalmazás építése és az AI-funkciók hozzáadása útmutatóink.
Kérdések
Mi a RAG egyszerűen fogalmazva?
A RAG (visszakeresés-kiegészített generálás) egy módszer arra, hogy az AI-modell a saját információid alapján válaszoljon. Mielőtt a modell válaszolna, az alkalmazásod megkeresi a dokumentumaidban a kérdéshez legrelevánsabb részeket, és ezeket beleteszi a promptba. Így a válasz ezen a szövegen alapul, nem csak azon, amit a modell a tanítása során megtanult.
A RAG tanítja a modellt az adataimon?
Nem. A RAG egyáltalán nem változtatja meg a modellt. A kérdés feltevésének pillanatában keres releváns szöveget, és ezt a kérdéssel együtt továbbadja a modellnek. Ha frissítesz egy dokumentumot, a következő válasz már az új változatot használhatja.
A RAG ugyanaz, mint a finomhangolás?
Nem. A finomhangolás a modell viselkedését változtatja meg azzal, hogy példákon tovább tanítjuk, ez lassabb, és stílusra vagy formátumra jobb. A RAG a kérdés pillanatában ad a modellnek olvasnivaló tényeket, ami jobb olyan tudáshoz, amely változik, vagy amelyet pontosan kell idézni.
A RAG megszünteti az AI hallucinációit?
Csökkenti őket, de nem szünteti meg teljesen. Ha a keresés rossz részeket talál, vagy a válasz nincs a dokumentumaidban, a modell még mindig tippelhet. A jó RAG-alkalmazások megmondatják a modellel, ha nem tudja a választ, és megmutatják a felhasznált forrásokat.