Çfarë është RAG dhe LLM? Një LLM (Large Language Model) është një model i madh gjuhësor, i trajnuar mbi sasi të mëdha teksti, që shkruan, përmbledh dhe arsyeton në gjuhë natyrore. Por di vetëm atë mbi të cilën është trajnuar: nuk i njeh kontratat, faturat apo procedurat e kompanisë suaj. RAG (retrieval-augmented generation) e zgjidh këtë: para përgjigjes, sistemi kërkon copat më relevante nga dokumentet tuaja dhe ia jep modelit si kontekst, që përgjigjja të bazohet te të dhënat tuaja reale.
RAG dhe LLM: cili bën çfarë
LLM-ja është truri që kupton dhe shkruan gjuhë; RAG-u i sjell këtij truri kujtesën e duhur në momentin e duhur. Pa RAG, modeli ose hamendëson (halucinon) për gjëra që nuk i di, ose ju duhet të fusni gjithë dokumentacionin në prompt, gjë e shtrenjtë dhe e kufizuar nga gjatësia e kontekstit.
- LLM: gjeneron tekst dhe arsyeton mbi atë që di nga trajnimi.
- RAG: gjen dhe injekton kontekstin tuaj specifik (dokumente, baza dijesh) para gjenerimit.
- Bashkë: përgjigje të bazuara te burimet tuaja, me citim të burimit, jo hamendje.
Ka edhe një vlerë praktike: kur përditësoni një dokument (p.sh. ndryshon një udhëzim fiskalizimi), përgjigjet ndryshojnë sapo dokumenti riindeksohet, pa ritrajnuar asgjë.
Si duket një pyetje me RAG në kod
Hapat janë gjithmonë të njëjtët: pyetja kthehet në vektor, kërkohen copat më të afërta në vector store dhe i jepen modelit si kontekst, me udhëzim të qartë që të përgjigjet vetëm prej tyre. Logjika nuk varet nga ofruesi i modelit: e projektojmë që modeli të jetë i ndërrueshëm.
// 1) Kthe pyetjen në vektor (embedding)
const queryVec = await embed(pyetja)
// 2) Merr copat më 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-së kontekstin dhe kërko citim burimi
const pergjigje = await model.generate({
system: 'Përgjigju VETËM nga konteksti. Cito burimin. Nëse nuk e gjen, thuaje qartë.',
prompt: 'Konteksti:\n' + konteksti + '\n\nPyetja: ' + pyetja,
})Cilësia e indeksimit (si i ndani dokumentet në copa dhe çfarë metadata ruani) shpesh ka më shumë rëndësi se vetë modeli. Copa të mira dhe metadata e pastër japin përgjigje shumë më të sakta.
RAG apo fine-tuning?
Të dyja e përshtatin AI-në, por zgjidhin probleme të ndryshme. RAG-u i jep modelit dije faktike që ndryshon shpesh; fine-tuning-u i mëson modelit një stil, format ose sjellje. Në shumicën e rasteve të biznesit fillohet me RAG: është më i lirë, përditësohet më shpejt dhe gjurmohet te burimi.
- Zgjidhni RAG kur dija ndryshon shpesh, ju duhet citim burimi ose dokumentet janë specifike për kompaninë (procedura, kontrata, dokumente biznesi në shqip).
- Zgjidhni fine-tuning kur ju duhet një stil ose format i qëndrueshëm, ose kur një detyrë e ngushtë përsëritet miliona herë dhe doni të ulni koston ose vonesën.
- Shpesh kombinohen: RAG për faktet, fine-tuning i lehtë për tonin dhe formatin.