Hopp til innhold
KI og søk

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.

Stian BrendlienDaglig leder i PXL
Publisert
Lesetid
7 min
Tegnet kokk som peker i en slitt oppskriftsbok med fargede faner mens han smaker på sausen til en ferdig rett

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

  1. Del opp dokumentene. Lange dokumenter deles i biter på noen hundre ord, gjerne med litt overlapp, slik at hvert avsnitt kan finnes for seg.
  2. 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.
  3. Lagre i en vektordatabase. Vektorene lagres i en database som kan finne de nærmeste raskt, for eksempel Qdrant, Pinecone, pgvector eller Meilisearch.
  4. 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.
  5. Ranger på nytt. En reranker leser spørsmålet og hver kandidat og sorterer treffene etter hvor godt de svarer på spørsmålet.
  6. 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.

QdrantPineconepgvectorMeilisearch
TypeDedikert vektordatabase, åpen kildekode (Rust)Administrert vektordatabase, kun skytjenesteUtvidelse til PostgreSQLSøkemotor med hybrid søk
LisensApache-2.0ProprietærPostgreSQLMIT (Community Edition)
PrisGratis selvhostet. Gratis skyklynge med 1 GB minne, deretter betaling etter brukGratis Starter. Builder 20 dollar/mnd, Standard fra 50 dollar/mndGratis, del av databasen du allerede harGratis selvhostet, egen skytjeneste
EUSelvhostet hvor som helst. Sky i EU, hovedkontor i BerlinFrankfurt, Irland og Nederland fra Builder-planenDer databasen din stårSelvhostet hvor som helst
Passer nårMange vektorer, filtrering og hybrid søk med full kontrollDu vil slippe drift heltDu har PostgreSQL og moderate datamengderSø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

  1. Velg ett kunnskapsområde. Start med én samling dokumenter, for eksempel kundeservicerutiner eller HMS-håndboken.
  2. Rydd i kildene. Fjern utdaterte versjoner og avklar hvem som har ansvar for å holde dokumentene oppdatert.
  3. Kartlegg tilgangene. Søket må følge de samme tilgangene som dokumentene har i dag.
  4. Bestem hvor dataene skal ligge. Avgjør om embeddings og vektordatabase skal kjøres i Norge eller EU, eller om et API er greit.
  5. Test flere embedding-modeller. Bruk et utvalg av dine egne spørsmål og velg modellen som finner riktig avsnitt oftest.
  6. Bruk hybrid søk. Kombiner vektorsøk med nøkkelordsøk, og vurder en reranker.
  7. Krev kilder i svarene. Brukeren skal kunne se hvilket dokument svaret bygger på.
  8. 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

Ofte stilte spørsmål

Hva er RAG?

RAG står for retrieval-augmented generation. Systemet henter de mest relevante avsnittene fra egne dokumenter før språkmodellen svarer, og modellen svarer ut fra dem. Det gir svar med kilder og kunnskap som holdes oppdatert uten å trene modellen på nytt.

Hva er forskjellen på RAG og å finjustere en språkmodell?

Finjustering endrer selve modellen ved å trene den videre på egne data. RAG lar modellen være som den er og gir den relevante dokumenter å lese før den svarer. RAG er enklere å holde oppdatert og gjør det mulig å vise hvilken kilde svaret bygger på.

Hvilken embedding-modell er best på norsk?

Det kommer an på oppgaven. Googles gemini-embedding-001 og Qwen3-Embedding scorer høyest i snitt på skandinaviske tekster, mens OpenAIs text-embedding-3-large er best på å finne riktig avsnitt til et norsk spørsmål. Test to eller tre modeller på egne data før du velger.

Hva er en vektordatabase?

En vektordatabase lagrer embeddings, tallrekker som beskriver hva en tekst handler om, og finner raskt tekstene som ligger nærmest et spørsmål i mening. Qdrant, Pinecone og pgvector er vanlige valg.

Kan en RAG-løsning kjøre i Norge eller EU?

Ja. Med åpne embedding-modeller som Qwen3, e5 eller BGE-M3 og en vektordatabase som Qdrant eller pgvector kan alt kjøres på egne servere i Norge eller EU. Bruker du API-modeller fra OpenAI eller Google, sendes teksten til leverandøren.

Hva koster en RAG-løsning?

Selve embeddingene er billige: ti tusen dokumenter koster under 15 kroner med OpenAIs modeller. Hos oss starter en avgrenset pilot på 30 000 kr og en løsning i drift med integrasjoner og tilgangsstyring på 130 000 kr eks. mva.

Skrevet av

Stian Brendlien

Daglig leder i PXL

Stian har bygget og driftet webplattformer i over 18 år, blant annet 13 år som CTO i Anbudstorget og fem år som innleid tech lead hos GlobalConnect. Han er fullstack-utvikler og den du snakker med om CI/CD, Kubernetes og arkitektur.

Skal KI svare fra dine egne dokumenter?

Vi bygger RAG-løsninger med tilgangsstyring, kilder i svarene og måling av kvalitet, og starter gjerne med ett kunnskapsområde. Fortell kort hvilke dokumenter det gjelder, så ser vi på det sammen.

  • ArtikkelKI og søk7 min

    KI-forordningen i Norge: hva gjelder, og når?

    KI-forordningen og KI-loven i Norge: status, frister, risikonivåer og krav til chatboter, KI-agenter og KI-kompetanse. Oppdatert etter Digital Omnibus.

  • ArtikkelKI og søk7 min

    KI-agenter: hva de er, hva de kan og hva de koster

    Hva er en KI-agent, hva kan den gjøre for bedriften, og hva koster den? Eksempler, priser, modellkostnader og risikoen når agenten får gjøre for mye.

  • CaseKI og søk8 min

    Semantisk søk og intensjonsbaserte systemer

    Hva er semantisk søk? Slik fungerer vektorsøk og hybrid søk i Meilisearch, hva det gir nettbutikker og chatboter, og hvordan vi bygger det i Laravel.

Alle artikler