Hva er RAG? Retrieval-Augmented Generation forklart enkelt
RAG (retrieval-augmented generation) er en måte å få en AI-modell til å svare på spørsmål ved hjelp av din egen informasjon. Når noen stiller et spørsmål, søker appen først gjennom dokumentene dine etter de mest relevante avsnittene, og gir så disse avsnittene til modellen sammen med spørsmålet. Modellen skriver svaret ut fra den teksten, i stedet for å bare stole på det den tilfeldigvis lærte under trening.
Hvorfor RAG betyr noe når du bygger med AI
En stor språkmodell vet mye om verden generelt, men ingenting om virksomheten din: prisene dine, retningslinjene dine, produkthåndboken din, support-sakene fra forrige uke. Den har også en treningsgrense, så den vet ikke om noe nytt. Spør du den likevel, kan den gi et sikkert, troverdig og feil svar.
Du har tre hovedalternativer for å løse det:
| Tilnærming | Hva den gjør | Passer til |
|---|---|---|
| Lim alt inn i prompten | Send alle dokumentene med hvert spørsmål | Små mengder tekst – noen få sider |
| RAG | Søk i dokumentene, send bare de relevante delene | Større eller endrende samlinger: hjelpesentre, håndbøker, notater |
| Finjustering | Tren modellen videre på eksempler | Tone, format og gjentatte oppgaver – ikke fakta som endrer seg |
Moderne modeller tar imot lange prompter, så for en kort FAQ er det første alternativet ofte greit. RAG fortjener sin plass når du har mer tekst enn du vil sende hver gang – fordi hvert ord du sender koster penger og tid (se hvordan LLM-API-er tar betalt).
Hvis du bygger en funksjon for «chat med dokumentasjonen vår», en støttebot eller et internt kunnskapsverktøy, bygger du nesten helt sikkert en form for RAG.
En hverdagslig analogi
Tenk deg en eksamen med åpen bok. En student som må svare fra hukommelsen kan huske feil eller bløffe. En student som får slå opp de riktige sidene først, lese dem og så svare, er langt mer pålitelig – så lenge hen finner de riktige sidene.
- Studenten er språkmodellen.
- Læreboka er dokumentene dine.
- Å slå opp de riktige sidene er henting (retrieval).
- Å skrive svaret ut fra sidene er generering.
RAG er den åpne-bok-versjonen. Og som på eksamen avhenger kvaliteten på svaret i stor grad av om de riktige sidene ble funnet.
Slik fungerer RAG, steg for steg
Et typisk RAG-oppsett har to faser.
Forberede dokumentene dine (gjøres på forhånd):
- Samle kildematerialet – hjelpeartikler, PDF-er, retningslinjer, produktdata.
- Del opp (chunk) teksten: del lange dokumenter i mindre biter, ofte noen avsnitt hver, slik at søket kan returnere bare den relevante delen.
- Lag embeddings for hver bit: send den til en embedding-modell, som gjør teksten om til en embedding – en lang liste med tall som fanger betydningen. Tekster om lignende ting får lignende tall.
- Lagre bitene og embeddingene i en database som kan søke etter likhet (ofte kalt en vektordatabase eller vektorindeks).
Svare på et spørsmål (gjøres hver gang):
- Lag embedding av spørsmålet med samme embedding-modell.
- Hent bitene som har embeddings nærmest spørsmålets – for eksempel de fem beste.
- Bygg prompten: instruksjoner, de hentede bitene og spørsmålet.
- Generer: språkmodellen skriver et svar basert på bitene, helst med en henvisning til hvilke den brukte.
Søk etter betydning er det som gjør dette fungerer: et spørsmål om «å få pengene mine tilbake» kan finne en bit med tittelen «Refusjonspolicy», selv om de ikke har ett eneste ord felles.
Et arbeidseksempel: en treningssenter-assistent
Si at et treningssenter har 40 hjelpeartikler og ønsker en chatassistent på nettsiden sin. Et medlem spør: «Kan jeg sette medlemskapet mitt på pause mens jeg reiser?»
Appen lager embedding av spørsmålet og henter de tre nærmeste bitene. En av dem sier:
Medlemskap på pause: Medlemmer med månedlig abonnement kan sette
medlemskapet på pause i opptil 2 måneder per år. Be om det i
resepsjonen eller i appen minst 7 dager før pausen starter.
Prompten som sendes til modellen, ser omtrent slik ut:
Du er hjelpeassistenten for Northside Gym.
Svar kun ut fra kildene under. Hvis svaret ikke står der,
si at du ikke vet, og foreslå at de kontakter resepsjonen.
Nevn hvilken kilde du brukte.
[Kilde 1: Medlemskap på pause] Medlemmer med månedlig abonnement kan sette...
[Kilde 2: Si opp medlemskapet] ...
[Kilde 3: Gjesteinnsjekk] ...
Spørsmål: Kan jeg sette medlemskapet mitt på pause mens jeg reiser?
Og modellen svarer: «Ja – med et månedlig abonnement kan du sette medlemskapet på pause i opptil to måneder per år. Be om det i resepsjonen eller i appen minst 7 dager før (kilde: Medlemskap på pause).»
Treningssenteret har aldri trent opp noe på nytt. Når det endrer pauseregelen, oppdaterer det artikkelen, appen lager nye embeddings for den biten, og neste svar gjenspeiler endringen.
Viktige begreper
| Begrep | Betydning |
|---|---|
| LLM | Stor språkmodell – AI-en som skriver svaret. Se hva en LLM er. |
| Embedding | En liste med tall som representerer betydningen av en tekst. |
| Embedding-modell | En modell som lager embeddings. Vanligvis separat fra chatmodellen, og mye billigere. |
| Chunk | En bit av et dokument, tilpasset slik at den kan hentes alene. |
| Vektordatabase / vektorsøk | Lagring som finner elementer med lignende embeddings. Noen vanlige databaser tilbyr det også – Postgres for eksempel via utvidelsen pgvector. |
| Top-k | Hvor mange biter som hentes per spørsmål. |
| Hybrid søk | Å kombinere søk etter betydning med vanlig nøkkelordsøk, noe som hjelper med eksakte begreper som produktkoder. |
| Kontekstvindu | Maksimal mengde tekst en modell kan ta inn i én forespørsel. |
| Forankring / henvisninger | Å knytte svaret til bestemte hentede kilder og vise dem. |
Vanlige misforståelser
- «RAG trener modellen på dataene mine.» Det gjør det ikke. Ingenting i modellen endres; den leser bare ekstra tekst når spørsmålet stilles.
- «RAG betyr ingen hallusinasjoner mer.» Det betyr færre. Hvis henteingen mister den riktige biten, eller svaret ikke finnes i dokumentene dine, kan modellen fortsatt gjette. Be den si «jeg vet ikke», og test med spørsmål du kjenner svaret på.
- «Jeg trenger en spesiell vektordatabase.» Ofte gjør du ikke det. For moderate datamengder kan en vektorutvidelse i databasen du allerede har, eller til og med vanlig nøkkelordsøk, være nok.
- «Større biter er bedre.» For store biter gir mye irrelevant tekst (høyere kostnad, mer forvirring); for små biter mister de konteksten som gjorde dem meningsfulle. Regn med å justere.
- «Last opp alt.» Foreldede, dupliserte eller motstridende dokumenter gir motstridende svar. Å rydde i kildematerialet er ofte den største forbedringen du kan gjøre.
- «Hvem som helst kan se hvilket som helst dokument.» Bare hvis du bygger det slik. Hvis noen dokumenter er private for bestemte brukere, må selve søket filtrere etter hvem som spør – ellers kan assistenten sitere en kundes data til en annen.
Hva det koster
En RAG-funksjon har vanligvis tre løpende kostnader: embedding av dokumentene dine (liten, og mest en engangskostnad), embedding av hvert spørsmål (ubetydelig), og kallet til språkmodellen (hovedkostnaden, som øker med antall biter du sender). Pluss lagring i databasen. AI-leverandøren din fakturerer dette til din egen konto, så sett en utgiftsgrense der.
Hva du bør be AI-byggeren din om
- «Før vi bygger RAG: sjekk om innholdet vårt er lite nok til å bare legge det ved i prompten.»
- «Del hjelpeartiklene inn i biter på noen avsnitt, behold tittelen og kildelenken til hver bit, og lagre embeddings i databasen vår.»
- «Bruk hybrid søk – betydning pluss nøkkelord – slik at produktkoder fortsatt matcher.»
- «Be modellen svare kun ut fra de hentede kildene, si fra når den ikke vet, og vise kildene under hvert svar.»
- «Søk bare i dokumenter den innloggede brukeren har lov til å se.»
- «Lag nye embeddings for et dokument automatisk hver gang det redigeres.»
- «Behold nøkkelen til AI-leverandøren på serveren i en hemmelighet, aldri i nettleseren.»
- «Logg hvert spørsmål, de hentede bitene og svaret, slik at jeg kan gå gjennom dårlige svar.»
RAG i Mythex
Mythex inkluderer ikke et ferdig kunnskapsbase- eller RAG-produkt. Det Mythex gjør, er å skrive koden for en slik løsning inne i appen din: du tar med dokumentene dine og din egen AI-leverandørnøkkel, lagret som en prosjekthemmelighet, og agenten bygger henteløsningen og chat-delen, med prosjektets Postgres-database til lagring. Bruk hos leverandøren din faktureres på din egen leverandørkonto, ikke med Mythex-kreditter. Dokumentasjonen foreslår at du starter med én enkel AI-funksjon og legger til RAG når den fungerer – se bygge en AI-app, og våre guider om å bygge en AI-chatbot-app og å legge til AI-funksjoner.
Spørsmål
Hva er RAG med enkle ord?
RAG (retrieval-augmented generation) er en måte å få en AI-modell til å svare ut fra din egen informasjon. Før modellen svarer, søker appen gjennom dokumentene dine etter avsnittene som er mest relevante for spørsmålet, og legger dem med i prompten. Svaret baseres dermed på den teksten, og ikke bare på det modellen har lært under trening.
Trener RAG AI-en på dataene mine?
Nei. RAG endrer ikke modellen i det hele tatt. Den slår opp relevant tekst i det øyeblikket et spørsmål stilles, og sender den til modellen sammen med spørsmålet. Oppdaterer du et dokument, kan neste svar bruke den nye versjonen med en gang.
Er RAG det samme som finjustering?
Nei. Finjustering endrer modellens atferd ved å trene den videre på eksempler. Det er tregere og bedre for stil eller format. RAG gir modellen fakta å lese når spørsmålet stilles, og det er bedre for kunnskap som endrer seg, eller som må siteres nøyaktig.
Stopper RAG AI-hallusinasjoner?
Det reduserer dem, men fjerner dem ikke helt. Hvis søket finner feil avsnitt, eller svaret ikke står i dokumentene dine, kan modellen fortsatt gjette. Gode RAG-apper ber modellen si fra når den ikke vet, og viser kildene de brukte.