RAG ir LLM: techninis paaiškinimas (apibrėžimai, skirtumai, naudojimo atvejai)
RAG ir LLM nėra konkuruojantys pasirinkimai: šiame paaiškinime aprašoma, kaip veikia kiekvienas jų, kuo jie skiriasi ir kada pakanka vien LLM, o kada reikia paieškos.

LLM generuoja atsakymus, naudodamas parametrus, išmokytus iš savo mokymo duomenų šablonų. Kadangi tie parametrai gali neatspindėti naujausios ar visos informacijos, RAG, kuris reiškia retrieval-augmented generation, papildo procesą, pridėdamas duomenis iš išorinių šaltinių prie LLM įvesties konteksto. DI įrankis gamina išorinę informaciją, kad papildytų LLM generavimo procesą.
Iš tikrųjų jūsų pasirinkimas nėra tarp RAG ir LLM. Jis yra tarp hibridinio metodo ir metodo, kuris naudoja tik LLM.
RAG yra būtinas, kai LLM reikia prieigos prie įmonės dokumentacijos, duomenų bazių arba greitai kintančios informacijos. TIK LLM metodas tinka tam tikroms administracinėms, duomenų apdorojimo ir turinio kūrimo užduotims, kai visus įvesties duomenis gali pateikti naudotojas.
RAG ir LLM: kokie yra pagrindiniai skirtumai?
- RAG ir LLM yra viena kitą papildančios sistemos. Galite naudoti DI modelį be RAG (tuomet jis remiasi tik savo esamais parametrais), bet negalite naudoti RAG sistemos be modelio.
- RAG buvo pristatytas siekiant įveikti tris pagrindines LLM problemas: pasenusią informaciją, haliucinuotus atsakymus ir patikros prieš trečiųjų šalių šaltinius stoką.
- RAG padaro DI daug veiksmingesnį realiose verslo situacijose, nes susieja LLM su patikrinta vidine dokumentacija, duomenų bazėmis ir API galiniais taškais.
- Svarbiausi RAG naudojimo atvejai apima klientų aptarnavimo pokalbių robotus, užklausas, pagrįstas greitai kintančiais duomenimis (pvz., pramonės naujienomis), ir specializuotas sritis, tokias kaip medicina ir teisė, kur tikslumas ir šaltinių faktų patikra yra svarbūs.
- Yra trys pagrindiniai RAG tipai: paprastasis RAG, modulinis RAG ir pažangusis RAG. Paprastasis RAG geriausiai suprantamas kaip tiesioginė informacijos paieška, o modulinis ir pažangusis RAG prideda papildomų funkcijų, tokių kaip užklausos perrašymas ir fragmentų optimizavimas.
Kas yra didelis kalbos modelis (LLM)?
LLM, arba didelis kalbos modelis, yra sistema, kuri generuoja turinį naudodama patikslintus parametrus. Šie parametrai lemia tikimybes, priskiriamas visiems LLM žodyno tokenams, nurodydami, kuris tokenas tam tikroje sekoje greičiausiai bus kitas.
Kad geriau suprastumėte, kaip RAG veikia (ir kuo skiriasi nuo) LLM, pravartu pažvelgti į tai, kaip generatyvusis DI veikia baziniu lygmeniu:
- Tokenizavimas: Naudotojo užklausa suskaidoma į tokenus, kurie gali būti žodžiai, žodžių dalys arba atskiri simboliai.
- Įterpimas: Tokenai paverčiami įterpimais — skaitmeniniais vaizdiniais (skaičių eilutėmis), vadinamais vektoriais, kuriuos neuroninis tinklas, įskaitant dekoderį, gali apdoroti.
- Dekodavimas: Dekoderio sluoksniai (kurie sudaro didelę LLM neuroninio tinklo dalį) manipuliuoja šiais vektoriais, naudodami procesą, vadinamą dėmesiu , kad užfiksuotų prasmę. Šis procesas nustato, kaip stipriai kiekvienas tokenas turėtų būti susietas su kitais sekos tokenais.
- Vertinimas: Modelis priskiria suderinamumo tikimybę kiekvienam tokenui savo jau egzistuojančiame žodyne ir parenka tikėtiną kitą tokeną sekai.
Svarbu tai, kad LLM gali generuoti išvestis tik remdamasis savo esamais parametrais ir tokenais savo konteksto lange. Mokymo metu LLM milijardus kartų raginamas užbaigti neužbaigto teksto dalis, o jo parametrai koreguojami tol, kol jis patikimai priskiria tikimybes tokenams (ir taip užbaigia tekstą).
Įsivaizduokite, pavyzdžiui, kad DI modeliui užduodate klausimą: „Ką sako mūsų įmonės 2026 m. pinigų grąžinimo politika?“ LLM gali tik numatyti kitus tokenus pagal savo esamus parametrus, kurie nebuvo patikslinti naudojant jūsų pagalbos dokumentaciją. Jei užduosite jam šį klausimą be jokio papildomo konteksto, jis tiesiog negalės pateikti prasmingo atsakymo arba haliucinuos neteisingą atsakymą.
Kas yra paieška papildytas generavimas (RAG)?
RAG (paieška papildytas generavimas) yra procesas, kurio metu informacija iš išorinių sistemų įtraukiama į LLM užklausą.
Pagrindinis LLM procesas, apimantis įterpimą ir tikimybinį tokenų atitikimą, išlieka toks pats. RAG įveda preliminarų žingsnį, kuriame naudotojo užklausa papildoma papildomais duomenimis.
Štai RAG veikimo apžvalga:
- Žinių parengimas: Parengiamas žinių šaltinis. Tai gali būti dokumentų rinkinys, vektorinė duomenų bazė, žinių grafas arba tiesioginis indeksas (pvz., DI paieškai).
- Užklausos formavimas: Naudotojas įveda užklausą, pavyzdžiui: „Ar šiandien Londone man eiti pasivaikščioti?“
- Paieška: DI įrankio ieškiklis užklausia išorinį informacijos šaltinį. Jis gali įterpti užklausą, paversdamas ją vektoriumi, o tada užklausti vektorinių duomenų bazę. Arba jis gali naudoti alternatyvų metodą, pavyzdžiui, API iškvietimą, raktažodžių sutapimą arba žinių grafų perėjimą.
- Įterpimas: Ši informacija pridedama prie pirminės naudotojo užklausos. Londono pasivaikščiojimo klausimo pavyzdyje tai galėtų apimti informaciją apie orus Londone ir dabartinį populiarių pasivaikščiojimo maršrutų prieinamumą.
- Atsakymo generavimas: LLM įprastu būdu sugeneruoja atsakymą, naudodamas išplėstą užklausą.
Užkulisiuose gautas tekstas pridedamas prie įvesties konteksto, suskaidomas į tokenus ir įterpiamas. Tada modelis apdoroja tą papildomą kontekstą per savo dekoderį, o tai pakeičia išvesties tokenų tikimybes.
Plačiąja prasme RAG galima suskirstyti į tris potipius. Paprastasis RAG laikosi pagrindinio RAG proceso: suranda informaciją ir perduoda ją į užklausą. Pažangusis RAG prideda papildomų funkcijų, tokių kaip užklausos perrašymas ir keli užklausų perdavimai. Modulinis RAG reiškia architektūros tipą, kuriame skirtingos pažangios funkcijos gali būti traktuojamos kaip komponentai ir jungiamos pagal poreikį.
RAG ir LLM: naudojimo atvejų apžvalga
RAG suteikia naudotojams prieigą prie naujausių duomenų. Dėl to LLM išvestys rečiau turi haliucinacijų ir informacijos spragų. Jei reikia matyti informacijos, naudotos išvestyje, šaltinius, RAG taip pat yra būtinas, nes nepagrįsti LLM atsakymai neturi nuorodų į šaltinius.
RAG naudojimo atvejai
- Laiko atžvilgiu jautrios informacijos užklausos: Bet kokios užklausos dėl informacijos, kuri greitai pasensta, nesvarbu, ar tai būtų tokia paprasta kaip orų prognozė, ar tokia sudėtinga kaip išsami naujienų istorijos analizė, turi būti pagrįstos patvirtintais trečiųjų šalių šaltiniais.
- Įmonės dokumentacija: Vidiniai arba klientams skirti DI pokalbių robotai, kuriuose naudotojai užduoda klausimus, susijusius su įmonės ar produkto dokumentacija, turėtų būti su RAG, ypač jei dokumentacija dažnai atnaujinama.
- Klientų aptarnavimas: Klientų pokalbių robotams reikia prieigos prie aktualios, išsamios pagalbos dokumentacijos, kad jie galėtų pateikti tikslius atsakymus.
- Specializuotos sritys (medicina, teisė, finansai ir kt.): LLM, kurie nebuvo apmokyti pagal konkrečios srities korpusus (ypač pagrindiniai modeliai), paprastai susiduria su sunkumais dėl specializuotų užklausų niuansų.
LLM naudojimo atvejai
- Administracinės užduotys: LLM gali atlikti pagrindines užduotis su minimaliu delsos laiku. RAG nereikalingas pagrindiniam rašymui ir administracinėms užduotims, tokioms kaip rašybos tikrinimas ar santraukų rengimas, kai išorinė informacija nėra būtina.
- Kūrybinės užduotys: Kai kurioms kūrybinėms užduotims, pavyzdžiui, trumpo pasakojimo ar vaizdo generavimui, reikia tik informacijos, pateiktos pirminėje užklausoje.
- Protavimas ir duomenimis pagrįstos užduotys: Jei dirbate su dideliu duomenų rinkiniu, LLM nereikia prieigos prie išorinės informacijos, kad galėtų taikyti protavimo ir analizės funkcijas.
- Bendras kodavimas: Nors kodavimo darbo eigai gali reikėti prieigos prie privačios kodų bazės ar dokumentacijos, LLM labai gerai atlieka bendras kodavimo užduotis, tokias kaip klaidų taisymas ir funkcijų kūrimas, nenaudodami išorinių šaltinių.
RAG ir ilgo konteksto LLM, agentinis DI ir pagrindimas
Yra trys susijusios sąvokos, svarbios skiriant RAG ir LLM. Tai ilgo konteksto LLM, agentinis DI ir pagrindimas.
Ilgo konteksto LLM kartais gali būti naudojami vietoje RAG palaikančių sistemų, o agentinis DI ir pagrindimas yra sinonimai arba veikia kartu su jomis.
Ilgo konteksto LLM
Tai modeliai su dideliais konteksto langais, o kai kurie plačiai prieinami komerciniai modeliai apdoroja iki vieno milijono tokenų.
Jei aktuali medžiaga telpa į modelio konteksto langą ir yra prieinama tekstiniu formatu, naudojant tik LLM pagrįstą metodą yra tam tikrų privalumų. Tai gali sumažinti paieškos klaidų tikimybę, suteikti išsamesnį kontekstą ir panaikinti poreikį plačiai RAG architektūros sąrankai.
Agentinis DI
Agentas yra sistema, kuri pasitelkia kelis įrankius, įskaitant RAG galimybes, kad atliktų sudėtingas užduotis. RAG yra viena agentinio DI sudedamųjų dalių, o agentas dažnai naudos skirtingų tipų paieškos metodus (pvz., žiniatinklio paiešką arba vektorinę paiešką), priklausomai nuo užklausos turinio.
Pagrindimas
Pagrindimas reiškia platesnį procesą, kai siekiant padidinti LLM atsakymo tikslumą naudojami įrodymai ar duomenys. RAG yra viena pagrindimo forma, tačiau techninio dokumento pridėjimas prie konteksto lango taip pat būtų laikomas pagrindimu.
RAG ir LLM: realaus pasaulio pavyzdžiai
Kad geriau suprastume, kaip RAG veikia, palyginti su LLM naudojimu be RAG, galime pažvelgti į paprastą realaus pasaulio pavyzdį, naudojant „Perplexity“ ir hipotetinį įmonės atvejį, kai konsultuojamasi su vektorių duomenų baze.
RAG ir LLM: paprastas užklausos pavyzdys
Štai išvestis (apribota dviem sakiniais), kai „Perplexity“ paklausiama: „Ar šiandien Londone man eiti pasivaikščioti?“ išjungus DI žiniatinklio paiešką (RAG formą):
Taip — jei oras pakankamai sausas ir turite laiko, šiandieninis pasivaikščiojimas Londone gali būti gaivus pokytis. Rinkitės maršrutą palei South Bank, Regent’s Canal arba per Hyde Park ir pasiimkite lengvą neperšlampamą drabužį, jeigu prireiktų.
Palyginkite tai su užklausa, kai LLM gali tikrinti išorinius šaltinius:
Taip, šiandien Londone gera diena pasivaikščiojimui: prognozuojama švelni, apie 19–21 °C temperatūra, su saulės intarpais ir tik labai maža lietaus tikimybe. Esant iš dalies debesuotam dangui ir lengvam vėjeliui, sąlygos yra malonios tyrinėti parkus ar maršrutus palei upę, pavyzdžiui, South Bank.
Tarp šių dviejų yra panašumų, nes LLM naudoja tą patį pagrindinį tokenų vertinimo procesą. Tačiau antrajame pavyzdyje pateikiama išsami orų informacija, todėl jis yra kur kas naudingesnis.
RAG ir LLM su įmonės vektorine duomenų baze
Įsivaizduokite, kad naudotojas banko programėlės pokalbių robotui užduoda tokį klausimą: „Kur galiu atsisiųsti savo naujausią išrašą?“
Bankas, valdantis programėlę, sukūrė duomenų bazę su naujausios savo produktų dokumentacijos įterpiniais ir prijungė ją prie pokalbių roboto RAG srauto. Dokumentaciją sudaro apie 1 000 šaltinių dokumentų, kurie suskaidyti į mažesnius fragmentus ir buvo paversti vektoriais paieškai.
Naudotojo užklausa siunčiama į įterpimo modelį, o programa tą vektorių nusiunčia į duomenų bazę, kuri grąžina atitinkamus fragmentus.
Įterpimo modelis gautų tokią užklausą:
{
"input": "Where can I download my most recent statement?"
}Įterpimo modelis pateikia tokį vektorinį įterpinį:
{
"embedding": [0.12, -0.44, 0.87, 0.31]
}Tada vektorinių duomenų bazė gauna tokią užklausą:
{
"vector": [0.12, -0.44, 0.87, 0.31],
"top_k": 5
}Šiame (labai supaprastintame) pavyzdyje duomenų bazė grąžina penkis fragmentus, kurie yra labiausiai susiję su naudotojo užklausa; jie siunčiami į programą ir įtraukiami į LLM užklausą.
Kada rinktis RAG, o kada LLM ir kada juos derinti
LLM ir RAG yra viena kitą papildančios sistemos. Todėl klausimas „Kada turėčiau rinktis LLM, o kada RAG?“ yra netikslus. Veikiau turėtumėte klausti: „Kada pakaks vien LLM ir kada optimalus yra RAG?“
Kada naudoti LLM be įjungto RAG
- Jūsų pasirinktas DI modelis turi didelį konteksto langą: Jei į savo užklausą yra lengviau įtraukti visą tiksliam atsakymui reikalingą informaciją ar duomenis, pavyzdžiui, įkeliant dokumentą, tai gali sumažinti delsą ir užkirsti kelią su paieška susijusioms problemoms.
- Protavimo ir duomenų analizės darbo eiga: Analizės ir protavimo darbo eiga, kuri remiasi tik užklausoje pateiktais duomenimis, RAG galimybių nereikalauja.
- Kodo generavimas: RAG paprastai nereikia bendram kodavimo darbui, nors jis dažniausiai naudojamas projektui specifinėms užduotims, pavyzdžiui, ankstesnių pataisymų arba tiekėjų API ir dokumentacijos paieškai.
Kada naudoti LLM su įjungtu RAG
- Jums reikia prieigos prie naujausios informacijos: Jei DI programai reikia prieigos prie išorinių naujausios informacijos šaltinių, kad sugeneruotų tikslų atsakymą, visada pasirūpinkite, kad RAG galimybės būtų įjungtos.
- Jūs dirbate specializuotoje srityje: Tokiose srityse kaip medicina, teisė, švietimas ir pan., kur svarbūs tikslumas, detalumas ir šaltinių tikrinimas, vien tik LLM dažnai nepakaks.
- Išvestys turėtų remtis vidiniais įmonės failais: Jei naudojate DI, viduje arba klientams skirtoje programėlėje, kad sugeneruotumėte turinį pagal vidinius įmonės dokumentus, nesvarbu, ar tai duomenys, prekės ženklo rinkinys, dokumentacija, ar failai, RAG suteikia prieigą prie tos informacijos.
RAG ir LLM yra viena kitą papildančios, besivystančios technologijos
RAG žymėjo didelę inovaciją DI raidoje. Jis sprendžia tris pagrindines problemas: pasenusią informaciją, ribotą modelio atmintį ir informacijos spragas dėl susijusių mokymo duomenų stokos, kurios dažnai lėmė haliucinacijas. Žinoma, LLM to dar visiškai neįveikė, bet nuo RAG atsiradimo tokių atvejų gerokai sumažėjo.
RAG nėra statiška technologija. Tikimasi, kad ji tobulės daugelyje sričių, įskaitant perrikiavimą, delsą paieškos metu ir tokenų naudojimą, saugumo priemones prieš pavojingus duomenų šaltinius, iš gautų duomenų iš kelių šaltinių integravimą ir daugiau. Tobulėjant LLM ir agentiniam DI, tobulės ir juos palaikančios RAG sistemos.