RAG forklart: slik svarer KI fra egne dokumenter
Hva er RAG, og hvordan får du KI til å svare fra egne dokumenter? Embedding-modeller på norsk, Qdrant, Pinecone og pgvector, og hva som kan gå galt.
- Publisert
- Lesetid
- 7 min

Kort fortalt
- Med RAG henter systemet de mest relevante avsnittene fra dine egne dokumenter før språkmodellen svarer. Svarene får kilder, og kunnskapen holdes oppdatert uten ny trening.
- Googles gemini-embedding-001 og Qwen3-Embedding slår OpenAI på skandinaviske tekster i snitt, men på norske spørsmål og svar er OpenAIs text-embedding-3-large fortsatt best. Test på egne data.
- Qdrant er vårt standardvalg for vektorsøk, pgvector passer når du allerede har PostgreSQL, og Pinecone når du vil slippe drift. Søket må alltid følge tilgangene i dokumentene.
Med RAG (retrieval-augmented generation) henter systemet de mest relevante avsnittene fra dine egne dokumenter før språkmodellen svarer. Svaret bygger dermed på dokumentene og ikke bare på det modellen lærte under trening. Svarene får kilder, og kunnskapen holdes oppdatert uten at modellen må trenes på nytt. Det koster under 15 kroner å lage embeddings av 10 000 dokumenter.
Hva er RAG?
En språkmodell vet bare det den lærte under trening. Den kjenner ikke prislisten din, reklamasjonsrutinene eller avtalen du signerte i fjor. Spør du den likevel, risikerer du et svar som høres riktig ut, men som er diktet opp.
Løsningen er å slå opp i kildene før modellen svarer. Lewis og kolleger beskrev metoden i artikkelen «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks» i 2020, og i dag er det den vanligste måten å få KI til å svare ut fra egne data.
Når en KI-agent skal svare ansatte fra håndbøker og rutiner, ligger det nesten alltid RAG i bunnen.
Slik fungerer RAG, steg for steg
- Del opp dokumentene. Lange dokumenter deles i biter på noen hundre ord, gjerne med litt overlapp, slik at hvert avsnitt kan finnes for seg.
- Lag embeddings. En embedding-modell gjør hver bit om til en vektor, en lang rekke tall som beskriver hva teksten handler om. Tekster med lik mening havner nær hverandre.
- Lagre i en vektordatabase. Vektorene lagres i en database som kan finne de nærmeste raskt, for eksempel Qdrant, Pinecone, pgvector eller Meilisearch.
- Søk. Spørsmålet gjøres om til en vektor, og databasen finner bitene som ligger nærmest. De beste løsningene kombinerer dette med vanlig nøkkelordsøk.
- Ranger på nytt. En reranker leser spørsmålet og hver kandidat og sorterer treffene etter hvor godt de svarer på spørsmålet.
- Svar med kilder. Språkmodellen får de beste bitene og svarer ut fra dem, med henvisning til hvor svaret kommer fra.
Vi har skrevet mer om vektorer, hybrid søk og hvordan det fungerer i praksis i casen om semantisk søk med Meilisearch.
Hvilken embedding-modell er best på norsk?
Det kommer an på oppgaven. Den skandinaviske delen av benchmarken MTEB tester modellene på 28 oppgaver på norsk, svensk og dansk. Tallene under er vårt eget snitt, regnet ut fra de publiserte resultatene. NorQuAD måler hvor godt modellen finner riktig avsnitt til et norsk spørsmål.
| Modell | Skandinavisk snitt | Norske oppgaver | NorQuAD | Lokalt |
|---|---|---|---|---|
| gemini-embedding-001 (Google) | 69,4 | 64,3 | 33,9 | Nei, API |
| Qwen3-Embedding-8B (Alibaba) | 69,0 | 59,5 | 26,4 | Ja, Apache-2.0 |
| Qwen3-Embedding-4B (Alibaba) | 68,7 | 63,0 | 23,3 | Ja, Apache-2.0 |
| text-embedding-3-large (OpenAI) | 62,6 | 59,2 | 35,1 | Nei, API |
| multilingual-e5-large-instruct | 61,6 | 60,9 | 25,0 | Ja, MIT |
| text-embedding-3-small (OpenAI) | 58,3 | 56,2 | 23,3 | Nei, API |
| BGE-M3 | 58,0 | 57,1 | 22,5 | Ja, MIT |
Googles gemini-embedding-001 og Qwen3-Embedding ligger rundt seks poeng over OpenAIs beste modell i snitt, og forspranget kommer mest fra klassifisering og gruppering av tekst. På det som ligner mest på RAG, å finne riktig avsnitt til et norsk spørsmål, er OpenAIs text-embedding-3-large fortsatt best av alle de testede modellene.
Google har siden lansert etterfølgeren gemini-embedding-2. Vektorene fra den kan ikke blandes med vektorer fra den gamle modellen.
Nasjonalbiblioteket lanserte i april 2026 en egen norsk modell, nb-sbert-v2-large. Den er laget for norsk og kan kjøres lokalt, men får lavere poengsum enn OpenAI i benchmarken. I september 2026 kom etterfølgeren Borealis. Den er liten nok til å kjøres på vanlige servere og håndterer opptil 8 192 tokens per tekst. Ifølge modellkortet får den 58,9 poeng på den skandinaviske benchmarken, omtrent like mye som OpenAIs small-modell. Den er lisensiert under Nasjonalbibliotekets egen lisens.
Det danske selskapet The Tech Collective har laget TTC-L2V, en større modell bygget på AI Swedens Llama-3-8B med MIT-lisens. Utvikleren oppga i juni 2025 at den var best av alle på norsk, dansk og svensk i Scandinavian Embedding Benchmark slik den var da. Den er ikke med i dagens MTEB-resultater, så den kan ikke sammenlignes direkte med modellene i tabellen. Med rundt 8 milliarder parametere krever den et skjermkort med mye minne. Den passer derfor best når dataene må holdes på egne servere og du har maskinvare til å kjøre den.
I praksis er det ofte to andre ting som avgjør valget:
- Hvor dataene havner. Med Qwen3, e5, BGE-M3 og nb-sbert kan alt kjøres på egne servere i Norge eller EU. Med API-modellene sendes teksten til leverandøren.
- Bytte av modell. Vektorer fra ulike modeller kan ikke blandes. Bytter du modell, må alle dokumentene få nye embeddings.
Prisen er sjelden et problem. OpenAIs text-embedding-3-small koster 0,02 dollar og large 0,13 dollar per million tokens. Ti tusen dokumenter på rundt tusen tokens hver koster dermed 0,20 dollar med small og 1,30 dollar med large.
Vårt råd er å teste to eller tre modeller på et utvalg av dine egne spørsmål og dokumenter før du velger.
Qdrant, Pinecone, pgvector eller Meilisearch?
Alle fire kan lagre vektorer og finne de nærmeste. Forskjellen ligger i drift, pris og hvor dataene kan ligge.
| Qdrant | Pinecone | pgvector | Meilisearch | |
|---|---|---|---|---|
| Type | Dedikert vektordatabase, åpen kildekode (Rust) | Administrert vektordatabase, kun skytjeneste | Utvidelse til PostgreSQL | Søkemotor med hybrid søk |
| Lisens | Apache-2.0 | Proprietær | PostgreSQL | MIT (Community Edition) |
| Pris | Gratis selvhostet. Gratis skyklynge med 1 GB minne, deretter betaling etter bruk | Gratis Starter. Builder 20 dollar/mnd, Standard fra 50 dollar/mnd | Gratis, del av databasen du allerede har | Gratis selvhostet, egen skytjeneste |
| EU | Selvhostet hvor som helst. Sky i EU, hovedkontor i Berlin | Frankfurt, Irland og Nederland fra Builder-planen | Der databasen din står | Selvhostet hvor som helst |
| Passer når | Mange vektorer, filtrering og hybrid søk med full kontroll | Du vil slippe drift helt | Du har PostgreSQL og moderate datamengder | Søk på nettsiden eller i nettbutikken, med RAG i tillegg |
Qdrant er vårt standardvalg når vektorsøket er kjernen i løsningen. Den kan kjøres på egne servere, har god støtte for filtrering og hybrid søk, og selskapet bak holder til i EU.
Pinecone er enklest å komme i gang med, men gratisplanen kjører bare i USA. Skal dataene ligge i EU, trenger du en betalt plan.
pgvector er ofte det riktige valget når du allerede har PostgreSQL. Da slipper du å drifte enda en database. Vær oppmerksom på at HNSW-indeksen i pgvector støtter opptil 2 000 dimensjoner for vanlige vektorer, mens text-embedding-3-large har 3 072. Da må du bruke halvpresisjon (halfvec) eller redusere antall dimensjoner.
Meilisearch passer når du uansett trenger søk på nettsiden. Med innstillingen semanticRatio styrer du blandingen mellom nøkkelordsøk og semantisk søk.
Hybrid søk og reranking
Rent vektorsøk er godt til å fange opp mening, men svakt på eksakte ord. Søker noen etter et produktnummer, et navn eller en paragraf, treffer vanlig nøkkelordsøk bedre. Hybrid søk kombinerer begge, og i de fleste RAG-løsninger vi bygger, gir det merkbart bedre treff.
En reranker er neste steg. Den leser spørsmålet sammen med hver av de beste kandidatene og gir dem ny poengsum. Det tar lengre tid enn vektorsøk, så den brukes bare på de 20–50 beste treffene. Cohere Rerank er et API, mens bge-reranker-v2-m3 har åpne vekter og kan kjøres lokalt. Pass på lisensen: flere populære rerankere og embedding-modeller er bare gratis for ikke-kommersiell bruk.
RAG kan fortsatt ta feil
RAG reduserer oppdiktede svar, men fjerner dem ikke. Modellen kan fortsatt misforstå en kilde, blande sammen to dokumenter eller svare selv om søket ikke fant noe som passer.
De vanligste feilene vi ser:
- Dokumentene er delt opp feil, så svaret er spredt over flere biter som ikke blir funnet sammen.
- Søket finner ikke riktig dokument, ofte fordi spørsmålet bruker andre ord enn kilden.
- Kildene er utdaterte, og ingen har ansvar for å holde dem oppdatert.
- Modellen går lenger enn kildene gir grunnlag for, og fyller selv inn det som mangler.
- Brukeren får svar fra dokumenter vedkommende ikke skulle hatt tilgang til.
Derfor bør kvaliteten måles. Verktøy som Ragas gjør det mulig å følge med på om svarene holder seg til kildene og om søket finner det det skal.
Personvern og tilgangsstyring
Datatilsynet fulgte NTNU i et sandkasseprosjekt om Microsoft Copilot, som også søker i egne dokumenter. Sluttrapporten fra november 2024 peker på det samme som vi ser i prosjektene våre: tilgangsstyring og informasjonsforvaltning må være i orden før KI får lese dokumentene. Sensitive personopplysninger må merkes, en personvernkonsekvensvurdering (DPIA) er normalt nødvendig, og innføringen bør skje i små, kontrollerte steg.
I en RAG-løsning betyr det at søket må respektere tilgangene til den som spør. En ansatt skal bare få svar fra dokumenter vedkommende allerede har tilgang til.
Brukes RAG i en chatbot for kunder, gjelder også kravene om åpenhet i KI-forordningen: folk skal vite at de snakker med en maskin.
Sjekkliste: før du bygger en RAG-løsning
- Velg ett kunnskapsområde. Start med én samling dokumenter, for eksempel kundeservicerutiner eller HMS-håndboken.
- Rydd i kildene. Fjern utdaterte versjoner og avklar hvem som har ansvar for å holde dokumentene oppdatert.
- Kartlegg tilgangene. Søket må følge de samme tilgangene som dokumentene har i dag.
- Bestem hvor dataene skal ligge. Avgjør om embeddings og vektordatabase skal kjøres i Norge eller EU, eller om et API er greit.
- Test flere embedding-modeller. Bruk et utvalg av dine egne spørsmål og velg modellen som finner riktig avsnitt oftest.
- Bruk hybrid søk. Kombiner vektorsøk med nøkkelordsøk, og vurder en reranker.
- Krev kilder i svarene. Brukeren skal kunne se hvilket dokument svaret bygger på.
- Mål kvaliteten løpende. Følg med på treffsikkerhet og svar som går utover kildene, og oppdater når dokumentene endres.
Vi bygger RAG-løsninger og KI-agenter og automatisering med tilgangsstyring, kilder i svarene og måling av kvalitet, og bruker Python og maskinlæring der standardverktøyene ikke strekker til.
Kilder og videre lesning
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, Lewis mfl. 2020
- MTEB-resultater, Massive Text Embedding Benchmark
- Qdrant, Pinecone, pgvector og Meilisearch hybrid søk
- Copilot med personvernbriller på, Datatilsynet 2024


