Hva er RAG (retrieval-augmented generation)?

Av Weapp · Oppdatert

RAG, retrieval-augmented generation, er en teknikk der språkmodellen først henter relevante dokumenter fra en kunnskapskilde og deretter formulerer svaret ut fra dem, i stedet for å gjette ut fra hukommelsen. Flyten er hente, berike, generere. Det gjør svarene mer korrekte og sporbare, og teknikken er særlig nyttig når dere vil stille spørsmål til virksomhetens egne dokumenter.

RAG står for retrieval-augmented generation, og det er en av de mest nyttige teknikkene for å få en språkmodell til å svare på nettopp deres spørsmål. Ideen er enkel: I stedet for å la modellen gjette ut fra det den husker fra treningen, lar man den først hente relevante dokumenter og deretter svare ut fra dem. Den forskjellen gjør svarene både mer korrekte og mulige å spore til en kilde.

Tre steg: hente, berike, generere

Den beste måten å forstå RAG på er å følge det som skjer når noen stiller et spørsmål. Det foregår i tre steg:

  1. Hente. Systemet tar spørsmålet og søker i en kunnskapskilde, for eksempel de interne dokumentene deres, etter de dokumentene eller tekstbitene som er mest relevante.
  2. Berike. Tekstbitene som ble funnet, legges inn i modellens kontekst sammen med det opprinnelige spørsmålet. Modellen får altså grunnlaget servert før den svarer.
  3. Generere. Modellen formulerer et svar ut fra det hentede grunnlaget, ikke bare ut fra det den tilfeldigvis husker fra treningen.

Man kan tenke på det som forskjellen mellom å svare på et spørsmål etter hukommelsen og å slå det opp i riktig bok først. Samme person, men et langt mer pålitelig svar når grunnlaget ligger på bordet.

Hvorfor det gir færre hallusinasjoner

Et velkjent problem med språkmodeller er at de iblant «hallusinerer», altså svarer selvsikkert med noe som høres troverdig ut, men er feil. Det skyldes at en ren modell fyller inn hull ut fra mønstre, ikke ut fra fakta den kan vise til.

RAG demper dette av en enkel grunn: Modellen svarer ut fra konkrete dokumenter den har fått foran seg. Når svaret bygger på hentet tekst, blir det både mer korrekt og sporbart til en kilde, og dere kan vise hvilket dokument svaret kom fra. Det fjerner ikke risikoen helt; hentes feil dokument, kan svaret likevel bli feil. Men det flytter svaret fra gjetning til belegg, og det gjør stor forskjell i praksis.

Det typiske bruksområdet

Den vanligste grunnen til å bygge en RAG-løsning er å kunne stille spørsmål til virksomhetens egne dokumenter.

Type innholdEksempler på spørsmål RAG kan svare på
Interne retningslinjer«Hva gjelder for hjemmekontor ifølge retningslinjene våre?»
Produktinformasjon«Hvilket av produktene våre passer til dette behovet?»
Support og avtaler«Hva sier avtalen om oppsigelsestid?»

Poenget er at en språkmodell ikke kjenner til de interne dataene deres fra treningen. Den har aldri sett dokumentene deres. Med RAG hentes det riktige grunnlaget inn ved hvert enkelt spørsmål slik at svarene gjenspeiler nettopp deres informasjon og holder seg aktuelle når dokumentene endres.

RAG sammenlignet med å finjustere modellen

Et vanlig oppfølgingsspørsmål er hvorfor man ikke heller trener kunnskapen inn i modellen. Forskjellen er praktisk: RAG henter kunnskap ved hvert spørsmål uten å røre selve modellen, og det gjør den enkel å oppdatere. Bytter dere ut dokumentene, endres svarene med en gang. Finjustering baker i stedet kunnskapen inn i modellen gjennom trening, og en slik modell er tyngre å oppdatere.

For grunnlag som endres ofte, og der svarene må kunne spores tilbake til en kilde, er RAG som regel det naturlige valget. Mange løsninger kombinerer dessuten teknikkene, men RAG er nesten alltid den første dere møter når målet er å stille spørsmål til egne dokumenter.

Hvor RAG kan slå feil

RAG er en kraftig teknikk, men ikke magisk, og det er nyttig å vite hvor den svikter. Hele kvaliteten avhenger av hentesteget: Finner systemet feil dokument, blir svaret feil, uansett hvor god modellen er. Vanlige svakheter er dårlig strukturert grunnlag, dokumenter som motsier hverandre uten at noen har ryddet opp, og spørsmål som er så vagt formulert at det riktige dokumentet ikke lar seg finne.

Det finnes også en grense for hvor mye tekst som får plass i modellens kontekst ved hvert spørsmål. Derfor deles dokumentene opp i mindre biter, og hvordan oppdelingen gjøres, påvirker treffsikkerheten. I en gjennomtenkt RAG-løsning legges mye av arbeidet nettopp her, i å strukturere, rydde og dele opp grunnlaget, snarere enn i selve modellen.

Hvorfor det betyr noe for en kjøper

For en virksomhet er RAG ofte svaret på spørsmålet «hvordan får vi AI til å kunne det vi kan, uten å sende alt til en modell som er trent på det?». Med RAG blir dokumentene liggende i deres egen kunnskapskilde og sendes inn bit for bit og kontrollert ved hvert spørsmål, i stedet for å bli bakt permanent inn i en modell. Det gir et tydeligere bilde av hvilke data som forlater virksomheten, og når. Det er et viktig spørsmål når man må kunne gjøre rede for hvor opplysninger behandles.

RAG gjør dessuten svarene sporbare, og det betyr at en medarbeider kan kontrollere hvor et svar kom fra, i stedet for å stole blindt på det. Det er ofte forskjellen mellom en AI-løsning som kan tas i bruk for fullt, og en som blir sittende fast i pilotfasen.

Å bygge en RAG-løsning som henter riktig grunnlag og svarer pålitelig, er et håndverk, og kvaliteten på hentesteget avgjør mye. Vil du vite hvordan det kan se ut for dokumentene deres, kan du lese mer om AI-tjenestene våre eller ta kontakt med en beskrivelse av hvilket innhold dere ønsker å kunne stille spørsmål til.

Ofte stilte spørsmål

Hva står RAG for?

RAG står for retrieval-augmented generation, omtrent «generering forsterket med henting». Navnet beskriver nøyaktig hva teknikken gjør: Den kombinerer et hentesteg, der relevante dokumenter plukkes ut, med et genereringssteg, der modellen skriver et svar som bygger på de hentede dokumentene.

Hvordan fungerer RAG steg for steg?

I tre steg. Hente: Systemet søker frem dokumentene som er relevante for spørsmålet. Berike: Tekstbitene som ble funnet, legges inn i modellens kontekst sammen med spørsmålet. Generere: Modellen formulerer et svar ut fra nettopp dette grunnlaget, i stedet for å stole bare på det den husker fra treningen.

Hvorfor gir RAG færre hallusinasjoner?

Fordi modellen svarer ut fra konkrete dokumenter den har fått foran seg, ikke ut fra en vag hukommelse. Når svaret bygger på hentet tekst, blir det både mer korrekt og mulig å spore tilbake til en kilde. Det fjerner ikke risikoen helt, men reduserer den betydelig.

Hva er et typisk bruksområde for RAG?

Å stille spørsmål til virksomhetens egne dokumenter: interne retningslinjer, produktinformasjon, avtaler, supportartikler. Modellen kan ikke kjenne til de interne dataene deres fra treningen, men med RAG hentes de riktige dokumentene inn ved hvert spørsmål slik at svarene gjenspeiler nettopp deres informasjon.

Hva er forskjellen mellom RAG og å finjustere en modell?

RAG henter inn kunnskap ved hvert spørsmål uten å endre modellen, og det gjør den enkel å oppdatere: Bytt ut dokumentene, så endres svarene. Finjustering baker kunnskapen inn i selve modellen gjennom trening. RAG passer når grunnlaget endres ofte og svarene må kunne spores tilbake til en kilde.