Andreas AhoniemiHead of Digital, Gullström & Co
EnglishBoka ett samtal

AI i produkten2 min läsning

RAG förklarat: så får du AI att svara på era egna dokument

RAG står för retrieval augmented generation och betyder att modellen hämtar relevanta stycken ur era egna dokument innan den formulerar ett svar, i stället för att svara ur minnet. Det är den enskilt viktigaste tekniken för att en assistent ska gå att använda i skarpt läge, eftersom varje påstående då går att spåra till ett dokument som faktiskt finns.

RAG, finjustering eller längre prompt?

Tre sätt att få en modell att kunna era saker, och de löser olika problem. Valet avgörs av hur ofta underlaget ändras och hur mycket det är.

Längre promptRAGFinjustering
Passar förNågra sidorTusentals dokumentTon och format
UppdateringRedigera promptenIndexera omTräna om
KällhänvisningNejJaNej
Kostnad per svarHög, allt skickas medLåg, bara träffarnaLåg
Ändrar faktaJaJaOpålitligt
Kom ihågBörja här om det får platsStandardvaletSällan det ni behöver

Hur fungerar RAG steg för steg?

Fyra steg, varje gång:

  1. Frågan görs om till en vektor, alltså en lista tal som representerar innebörden.
  2. Den vektorn jämförs mot ert indexerade innehåll och de närmaste styckena hämtas.
  3. Styckena skickas till modellen tillsammans med frågan och en instruktion om att bara svara utifrån dem.
  4. Modellen formulerar svaret och anger vilka stycken det byggde på.

Varför blir svaren fel?

När ett RAG-svar är fel beror det sällan på att modellen är svag. Det beror på att fel stycken hämtades i steg två. Modellen fick helt enkelt inte underlaget. Det betyder att när svarskvaliteten är dålig är byte av modell den sista justeringen, inte den första. Titta på vad som hämtades innan du byter något annat.

Hur ska innehållet delas upp?

Ett dokument indexeras inte i sin helhet utan som stycken. En vektor över tjugo sidor blir så generell att den matchar allt och därmed ingenting. Men om uppdelningen klipper mitt i ett resonemang tappar stycket sin mening när det visas. Praktiska regler jag håller mig till:

  • Följ innehållets struktur. Dela på rubriker, inte på teckenantal.
  • Behåll rubriken i varje del, så att stycket bär sin egen kontext.
  • Låt delarna överlappa något, så att en mening på gränsen inte försvinner.
  • Indexera tabeller separat. De blir obegripliga när de klipps.

Vad ska hända när assistenten inte vet?

Finns inget tillräckligt relevant i hämtningen ska svaret bli att informationen saknas, med en väg vidare till en människa. Utan den regeln fyller modellen igen luckan med något rimligt klingande, och det är där förtroendet går förlorat. Ett "jag hittar inte det här" är ett bra svar. Ett påhittat svar är det aldrig.

Hur hanteras behörigheter?

I ett internt verktyg får assistenten inte visa ett dokument användaren inte får läsa. Kontrollen ska därför ske när styckena hämtas, så att de filtreras bort innan modellen ser dem. Att filtrera svaret i efterhand är inte en kontroll, det är en förhoppning: underlaget har redan passerat genom modellen.

Hur vet du om det blev bättre?

Skriv ner trettio verkliga frågor med känt rätt svar, hämtade ur er egen supporthistorik. Kör dem före och efter varje ändring. Utan den listan blir varje diskussion om svarskvalitet en diskussion om känsla, och de diskussionerna tar aldrig slut.

Vanliga frågor

Måste vi skicka våra dokument till OpenAI eller Anthropic?

De stycken som hämtas skickas med i anropet, ja, men inte hela dokumentsamlingen. Är det inte acceptabelt finns två vägar: leverantörsavtal där data inte används för träning och hanteras inom EU, eller en modell som körs i er egen miljö. Det andra kostar mer i drift och ger svagare svar, och avvägningen bör göras medvetet snarare än antas.

Hur mycket innehåll behövs för att RAG ska vara värt det?

Ungefär vid den punkt där underlaget inte längre får plats i en prompt, alltså från några tiotal sidor och uppåt. Under det är en längre systemprompt både enklare och billigare. Över några tusen sidor blir hämtningens kvalitet det som avgör allt, och då är det där arbetet ska ligga.

Hur ofta måste indexet uppdateras?

När innehållet ändras, och bara för det som ändrats. För en sajt eller ett dokumentbibliotek räcker en nattlig körning som indexerar det som fått ny tidsstämpel. Kostnaden ligger i att skapa vektorer, så att indexera om allt varje natt är slöseri utan nytta.

Kan assistenten fortfarande hitta på saker?

Risken går ner kraftigt men försvinner inte helt. Med hämtning från era dokument, källhänvisning i svaret och en regel om att avstå när underlaget saknas hamnar de kvarvarande felen oftast i formuleringen snarare än i sakuppgiften. Därför loggas fråga, hämtade stycken och svar, så att avvikelser hittas i granskning i stället för av en kund.

Börja med en timme

Ta med en process som skaver. Vi går igenom den tillsammans och du får en rak bedömning av om det är värt att automatisera eller inte.

Boka ett samtal