Hvað er RAG? Retrieval-Augmented Generation útskýrt einfaldlega
RAG (retrieval-augmented generation) er leið til að láta gervigreindarlíkan svara spurningum út frá þínum eigin upplýsingum. Þegar einhver spyr leitar forritið þitt fyrst í skjölunum þínum að þeim köflum sem skipta mestu máli og afhendir síðan þá kafla líkaninu ásamt spurningunni. Líkanið skrifar svarið út frá þessum texta í stað þess að treysta eingöngu á það sem það lærði í þjálfun.
Af hverju RAG skiptir máli þegar þú smíðar með gervigreind
Stórt tungumálalíkan þekkir margt um heiminn almennt, en ekkert um fyrirtækið þitt: verðin þín, stefnur þínar, handbókina um vöruna þína, þjónustubeiðnir síðustu viku. Það hefur líka þekkingarmörk frá þjálfun, svo það veit ekkert um það nýjasta. Ef þú spyrð samt getur það gefið öruggt og trúverðugt svar sem er rangt.
Þú hefur þrjár meginleiðir til að laga það:
| Aðferð | Hvað hún gerir | Hentar fyrir |
|---|---|---|
| Setja allt í fyrirmælin | Senda öll skjölin með hverri spurningu | Lítið magn texta, nokkrar síður |
| RAG | Leita í skjölunum og senda aðeins viðeigandi hluta | Stærri eða breytileg söfn: hjálparmiðstöðvar, handbækur, glósur |
| Fínstilling | Þjálfa líkanið frekar á dæmum | Tón, snið og endurteknar aðgerðir, ekki staðreyndir sem breytast |
Nýlegar gerðir taka við löngum fyrirmælum, svo fyrir stuttar algengar spurningar er fyrsta leiðin oft nóg. RAG á réttmætan stað þegar textinn er meiri en þú vilt senda í hvert skipti, því hvert orð sem þú sendir kostar peninga og tíma (sjá hvernig LLM-forritaskil rukka).
Ef þú ert að smíða eiginleika eins og „spjallaðu við skjölin okkar“, aðstoðarmann fyrir þjónustuver eða innra þekkingartól, ertu nær örugglega að smíða einhvers konar RAG.
Hversdagslíking
Hugsaðu um opna-bók próf. Nemandi sem þarf að svara utanbókar getur munað rangt eða þóst vita. Nemandi sem fær að fletta upp réttu blaðsíðunum fyrst, lesa þær og svara síðan er mun áreiðanlegri, svo lengi sem hann finnur réttu blaðsíðurnar.
- Nemandinn er tungumálalíkanið.
- Kennslubókin eru skjölin þín.
- Að fletta upp réttu blaðsíðunum er leitin (retrieval).
- Að skrifa svarið upp úr þeim er myndunin (generation).
RAG er opna-bókar útgáfan. Og eins og í prófinu fer gæði svarsins mikið eftir því hvort réttu blaðsíðurnar fundust.
Hvernig RAG virkar, skref fyrir skref
Dæmigerð RAG-uppsetning hefur tvo áfanga.
Undirbúningur skjalanna (gert fyrirfram):
- Söfnun heimildaefnisins: hjálpargreinar, PDF-skjöl, stefnur, vörugögn.
- Bútun: löng skjöl eru brotin í smærri búta, oft nokkrar málsgreinar hver, svo leitin geti skilað aðeins þeim hluta sem skiptir máli.
- Innfelling (embedding) hvers búts: bútinn er sendur í innfellingarlíkan sem breytir textanum í innfellingu, langa talnaröð sem fangar merkingu hans. Textar um svipað efni fá svipaðar tölur.
- Geymsla bútanna og innfellinganna í gagnagrunni sem getur leitað eftir líkindum (oft kallaður vigurgagnagrunnur eða vigurleit).
Svörun við spurningu (gert í hvert skipti):
- Innfella spurninguna með sama innfellingarlíkani.
- Sækja bútana sem eru næstir innfellingu spurningarinnar, til dæmis þá fimm efstu.
- Smíða fyrirmælin: leiðbeiningar, sóttu bútana og spurninguna.
- Mynda svarið: tungumálalíkanið skrifar svar út frá bútunum, helst með tilvísun í þá sem það notaði.
Leit eftir merkingu er það sem gerir þetta virkt: spurning um „að fá peningana mína til baka“ getur fundið kafla sem heitir „Endurgreiðslustefna“, þótt þau deili engum orðum.
Dæmi: aðstoðarmaður líkamsræktarstöðvar
Segjum að líkamsræktarstöð sé með 40 hjálpargreinar og vilji spjallaðstoðarmann á vefsíðunni sinni. Meðlimur spyr: „Get ég fryst aðildina mína á meðan ég er á ferðalagi?“
Forritið innfellir spurninguna og sækir þrjá nærliggjandi búta. Einn þeirra hljóðar svo:
Frysting aðildar: Meðlimir á mánaðarsamningi geta fryst
aðildina sína í allt að 2 mánuði á ári. Biðja þarf um það við
móttökuna eða í appinu að minnsta kosti 7 dögum áður en frystingin
hefst.
Fyrirmælin sem send eru til líkansins líta þá einhvern veginn svona út:
Þú ert hjálparaðstoðarmaður Northside Gym.
Svaraðu eingöngu út frá heimildunum hér að neðan. Ef svarið er ekki
þar, segðu að þú vitir það ekki og stingdu upp á að hafa samband
við móttökuna. Nefndu hvaða heimild þú notaðir.
[Heimild 1: Frysting aðildar] Meðlimir á mánaðarsamningi geta fryst...
[Heimild 2: Uppsögn aðildar] ...
[Heimild 3: Gestapassar] ...
Spurning: Get ég fryst aðildina mína á meðan ég er á ferðalagi?
Líkanið svarar: „Já, á mánaðarsamningi geturðu fryst aðildina í allt að tvo mánuði á ári. Biddu um það við móttökuna eða í appinu að minnsta kosti 7 dögum áður (heimild: Frysting aðildar).“
Líkamsræktarstöðin þjálfaði aldrei neitt upp á nýtt. Þegar hún breytir reglunni um frystingu uppfærir hún greinina, forritið innfellir bútinn að nýju og næsta svar endurspeglar breytinguna.
Helstu hugtök
| Hugtak | Merking |
|---|---|
| LLM | Stórt tungumálalíkan, gervigreindin sem skrifar svarið. Sjá hvað er LLM. |
| Innfelling (embedding) | Talnaröð sem lýsir merkingu texta. |
| Innfellingarlíkan | Líkan sem býr til innfellingar. Yfirleitt aðskilið frá spjalllíkaninu og miklu ódýrara. |
| Bútur (chunk) | Hluti skjals, stærð þannig að hægt sé að sækja hann einan og sér. |
| Vigurgagnagrunnur / vigurleit | Geymsla sem finnur atriði með svipaðar innfellingar. Sumir venjulegir gagnagrunnar bjóða líka upp á þetta, til dæmis Postgres með pgvector-viðbótinni. |
| Efstu k (top-k) | Hversu marga búta er sótt fyrir hverja spurningu. |
| Blönduð leit (hybrid search) | Leit eftir merkingu sameinuð venjulegri leit eftir lykilorðum, sem hjálpar við nákvæm hugtök eins og vörunúmer. |
| Samhengisgluggi (context window) | Mesti texti sem líkan getur tekið inn í einni beiðni. |
| Rökstuðningur á heimildum (grounding / citations) | Að tengja svarið við tilteknar sóttar heimildir og sýna þær. |
Algengar ranghugmyndir
- „RAG þjálfar líkanið á gögnunum mínum.“ Það gerir það ekki. Ekkert í líkaninu breytist; það les bara auka texta þegar spurning er borin fram.
- „RAG þýðir engar ofskynjanir.“ Það þýðir færri. Ef leitin missir af réttum bút, eða svarið er ekki í skjölunum þínum, getur líkanið samt giskað. Láttu það segja „ég veit það ekki“ og prófaðu með spurningum sem þú þekkir svörin við.
- „Ég þarf sérstakan vigurgagnagrunn.“ Oft ekki. Fyrir hóflegt magn gagna getur vigurviðbót á gagnagrunninum sem þú ert þegar með, eða jafnvel venjuleg leit eftir lykilorðum, dugað.
- „Stærri bútar eru alltaf betri.“ Of stórir bútar senda mikinn óviðkomandi texta (meiri kostnaður, meiri rugl). Of litlir bútar missa samhengið sem gerði þá þýðingarmikla. Búast má við að þurfa að stilla þetta.
- „Hladdu bara inn öllu.“ Úreltar, afrituð eða misvísandi skjöl gefa misvísandi svör. Að hreinsa heimildaefnið er oft mesta bótin sem þú getur gert.
- „Hver sem er getur séð hvaða skjal sem er.“ Aðeins ef þú smíðar það þannig. Ef sum skjöl eru einkamál tiltekinna notenda verður leitin sjálf að sía eftir því hver er að spyrja, annars getur aðstoðarmaðurinn vitnað í gögn eins viðskiptavinar fyrir öðrum.
Hvað þetta kostar
RAG-eiginleiki hefur yfirleitt þrenns konar rekstrarkostnað: innfellingu skjalanna (lítil og að mestu einskiptis), innfellingu hverrar spurningar (örlítil) og kall í tungumálalíkanið (aðalkostnaðurinn, sem vex með fjölda búta sem þú sendir). Við bætist geymsla í gagnagrunninum. Þjónustuveitan þín rukkar þetta á þinn reikning, svo settu upp útgjaldamörk þar.
Hvað þú átt að biðja smíðatólið um
- „Áður en við byggjum RAG: er efnið okkar nógu lítið til að setja það bara í fyrirmælin?“
- „Skiptu hjálpargreinunum í búta sem eru nokkrar málsgreinar hver, geymdu titil og tengil hvers búts og geymdu innfellingarnar í gagnagrunninum okkar.“
- „Notaðu blandaða leit, bæði eftir merkingu og lykilorðum, svo vörunúmer passi enn.“
- „Segðu líkaninu að svara aðeins út frá sóttum heimildum, segja til um þegar það veit ekki svarið og sýna heimildirnar undir hverju svari.“
- „Leitaðu aðeins í skjölum sem innskráður notandi má sjá.“
- „Innfelldu skjal sjálfkrafa aftur þegar það er breytt.“
- „Geymdu lykil þjónustuveitunnar á þjóninum sem leyndarmál, aldrei í vafranum.“
- „Skráðu hverja spurningu, sóttu bútana og svarið svo ég geti farið yfir slæm svör.“
RAG í Mythex
Mythex er ekki með tilbúna þekkingargrunnsvöru eða RAG-þjónustu. Það sem Mythex gerir er að skrifa kóðann fyrir slíkt inni í forritinu þínu: þú kemur með skjölin þín og þinn eigin lykil að gervigreindarþjónustu, geymdan sem leyndarmál verkefnisins, og agentinn smíðar leitar- og spjallhlutann og notar Postgres gagnagrunn verkefnisins til geymslu. Notkun þjónustuveitunnar er rukkuð á reikning hennar, ekki í Mythex-inneignum. Skjölin mæla með því að byrja á einum einföldum gervigreindareiginleika og bæta RAG við þegar hann virkar. Sjá smíði gervigreindarforrits, og greinarnar okkar um smíði gervigreindar-spjallmenis og að bæta gervigreindareiginleikum við forritið.
Spurningar
Hvað er RAG í einföldu máli?
RAG (retrieval-augmented generation) er leið til að láta gervigreindarlíkan svara út frá þínum eigin upplýsingum. Áður en líkanið svarar leitar forritið þitt í skjölunum þínum að þeim köflum sem tengjast spurningunni best og setur þá í fyrirmælin, þannig að svarið byggir á þeim texta en ekki bara á því sem líkanið lærði í þjálfun.
Þjálfar RAG gervigreindina á gögnunum mínum?
Nei. RAG breytir líkaninu ekki neitt. Það flettir upp viðeigandi texta þegar spurning er borin fram og sendir hann til líkansins ásamt spurningunni. Ef þú uppfærir skjal getur næsta svar notað nýju útgáfuna strax.
Er RAG það sama og fínstilling (fine-tuning)?
Nei. Fínstilling breytir hegðun líkansins með frekari þjálfun á dæmum. Það er hægara og hentar betur fyrir stíl eða snið. RAG gefur líkaninu staðreyndir til að lesa þegar spurning er borin fram, sem hentar betur fyrir þekkingu sem breytist eða þarf að vitna í nákvæmlega.
Stöðvar RAG ofskynjanir gervigreindar?
Það dregur úr þeim en útrýmir þeim ekki. Ef leitin finnur rangar málsgreinar, eða svarið er ekki í skjölunum þínum, getur líkanið samt giskað. Góð RAG-forrit segja líkaninu að viðurkenna þegar það veit ekki svarið og sýna heimildirnar sem þau notuðu.