RAG (retrieval-augmented generation)

RAG innebär att man söker i sina egna dokument efter avsnitt som är relevanta för en fråga och sedan lägger de avsnitten i modellens prompt, så att den svarar utifrån dem i stället för utifrån minnet. Modellen ändras inte; bara det den får se ändras.

Så fungerar kedjan

Två halvor. Indexering, i förväg: dela dokumenten i bitar, gör varje bit till en embeddingvektor med en embeddingmodell och lagra vektorerna tillsammans med texten — vanligen i Postgres med pgvector, eller i en särskild vektordatabas. Vid frågan: embedda frågan, hitta de närmaste bitarna, klistra in de främsta i prompten med en instruktion att bara svara utifrån dem, och be modellen ange vilken bit den använt.

Den sista delen är inte dekoration. Källhänvisningarna är det som gör svaret granskningsbart, och utan dem går det inte att skilja grundat svar från gissning.

Hämtningens kvalitet är där arbetet ligger. Ren vektorsökning missar exakta termer — artikelnummer, felkoder, namn — så de flesta seriösa system kör hybridsökning som kombinerar vektorlikhet med nyckelordsmatchning, och omrangordnar sedan kandidaterna med en cross-encoder innan urvalet. Uppdelningen i bitar spelar större roll än man tror: bitar som klyver en tabell på mitten eller skiljer en rubrik från sitt innehåll ger hämtning som ser bra ut och svar som är subtilt felaktiga.

Varför det finns

Det löser tre problem samtidigt: kunskap efter träningens brytdatum, privat data som modellen aldrig sett, och hallucinationer om detaljer. Det uppdateras också omedelbart — lägg till ett dokument och det finns tillgängligt vid nästa fråga, utan omträning.

Vad du bör se upp med

RAG lär inte modellen något, och det garanterar inte ett grundat svar. Två skilda missförstånd:

Det felläge nästan alla hamnar i: svaren är dåliga och modellen får skulden. I praktiken är hämtningssteget felet betydligt oftare. Innan du byter modell, logga vad som hämtades för de frågor som misslyckades. Oftast fanns rätt textbit aldrig i prompten alls.

Stora kontextfönster har inte gjort det här överflödigt. Att skicka tre relevanta sidor är billigare, snabbare och mer träffsäkert än att skicka hela manualen och hoppas.

Vanliga frågor

Ska jag använda RAG eller finjustering för mina företagsdokument?

RAG, nästan alltid. Dokument ändras, och hämtning speglar en ändring omedelbart medan finjustering kräver en ny träningsomgång och ändå inte ger källhänvisningar. Finjustering är rätt verktyg för ett enhetligt format eller tonläge, inte för att förse modellen med fakta. Många system använder hämtning för innehåll och finjustering för stil.

Bygg det själv

NorthernGo förvandlar en beskrivning i ren text till en fungerande webbapp med databas, inloggning och en live-adress. Lokal AI-generering körs på ditt eget grafikkort, är obegränsad och ingår gratis i alla prisplaner.

Börja bygga gratis