Nje LLM (Large Language Model) eshte nje model i madh gjuhesor i trajnuar mbi sasi te medha teksti, qe parashikon fjalet dhe keshtu shkruan, permbledh dhe arsyeton mbi gjuhe natyrore. Por nje LLM di vetem ate me te cilen eshte trajnuar - nuk i njeh kontratat, faturat apo procedurat e brendshme te kompanise suaj. RAG (retrieval-augmented generation) e zgjidh kete: perpara se modeli te pergjigjet, sistemi kerkon copat me relevante nga dokumentet tuaja dhe ia jep modelit si kontekst, keshtu qe pergjigjja bazohet te te dhenat tuaja reale.
LLM vs RAG: cili ben cfare
LLM-ja eshte truri qe kupton dhe shkruan gjuhe; RAG-u eshte mekanizmi qe i sjell ketij truri kujtesen e duhur ne momentin e duhur. Pa RAG, modeli ose hamendeson (halucinon) per gjera qe nuk i di, ose ju duhet te fusni gjithe dokumentacionin ne prompt - gje e shtrenjte dhe e kufizuar nga gjatesia e kontekstit.
- LLM: gjeneron tekst dhe arsyeton mbi ate qe di nga trajnimi i tij.
- RAG: gjen dhe injekton kontekstin tuaj specifik (dokumente, baza dijesh) perpara gjenerimit.
- Bashke: pergjigje te bazuara te burimet tuaja, me mundesi citimi te burimit - jo hamendje.
Kjo ndarje ka edhe nje vlere praktike: kur perditesoni nje dokument (p.sh. ndryshon nje udhezim fiskalizimi), pergjigjet ndryshojne menjehere sapo ri-indeksohet dokumenti - pa pasur nevoje te ritrajnoni asgje.
Si duket nje pyetje me RAG ne kod
Hapat jane gjithmone te njejtet: pyetja kthehet ne vektor, kerkohen copat me te aferta ne vector store, dhe ato i jepen modelit si kontekst me nje udhezim te qarte qe te pergjigjet vetem prej tyre. Logjika eshte e pavarur nga ofruesi i modelit - e projektojme qe modeli te jete i ndderrueshem.
// 1) Kthe pyetjen ne vektor (embedding)
const queryVec = await embed(pyetja)
// 2) Merr copat me relevante nga vector store
const copa = await vectorDb.search(queryVec, { topK: 5 })
const konteksti = copa.map(c => c.text + ' (burimi: ' + c.source + ')').join('\n\n')
// 3) Jepi LLM-se kontekstin dhe kerko citim burimi
const pergjigje = await model.generate({
system: 'Pergjigju VETEM nga konteksti. Cito burimin. Nese nuk e gjen, thuaj qarte.',
prompt: 'Konteksti:\n' + konteksti + '\n\nPyetja: ' + pyetja,
})Cilesia e indeksimit (si i ndani dokumentet ne copa dhe cfare metadata ruani) shpesh ka me shume rendesi se vete modeli. Nje ndarje e mire ne copa dhe metadata e paster japin pergjigje shume me te sakta.
RAG apo fine-tuning?
Te dyja jane menyra per ta pershtatur AI-ne, por zgjidhin probleme te ndryshme. RAG-u i jep modelit dije faktike qe ndryshon shpesh; fine-tuning-u i meson modelit nje stil, format ose sjellje. Ne shumicen e rasteve te biznesit, fillohet me RAG sepse eshte me i lire, me i shpejte per t'u perditesuar dhe i gjurmueshem te burimi.
- Zgjidhni RAG kur: dija ndryshon shpesh, ju duhet citim burimi, ose dokumentet jane specifike per kompanine (procedura, kontrata, dokumente biznesi shqip).
- Zgjidhni fine-tuning kur: ju duhet nje stil/format i qendrueshem, ose detyra e ngushte perseritet miliona here dhe doni ta optimizoni kosten/vonesen.
- Shpesh kombinohen: RAG per faktet + fine-tuning i lehte per tonin dhe formatin.