Hvad er Retrieval-Augmented Generation (RAG)?

Retrieval-Augmented Generation (RAG) er en metode, der forbedrer store sprogmodellers (LLM) svar ved at hente relevant information fra eksterne datakilder. Dette gør modellens output mere præcist, aktuelt og troværdigt, da den baserer sine svar på specifik, verificerbar viden frem for udelukkende sin indlærte data.

Sådan fungerer RAG i praksis

RAG-processen består af flere trin, der kombinerer informationssøgning med tekstgenerering. Når en bruger stiller et spørgsmål, starter systemet ikke med at generere et svar med det samme. I stedet igangsættes en søgeproces i en foruddefineret vidensdatabase.

Først omdannes brugerens spørgsmål til et matematisk format, et såkaldt “vector embedding”. Dette format gør det muligt at sammenligne den semantiske betydning af spørgsmålet med indholdet i databasen. Systemet søger derefter i databasen efter de dokumenter eller tekststykker, hvis embeddings ligner spørgsmålets mest.

De mest relevante informationer hentes ud og kombineres med det oprindelige spørgsmål. Denne nye, udvidede prompt sendes til sprogmodellen. Modellen bruger nu både den oprindelige forespørgsel og den tilføjede kontekst til at formulere et præcist og velinformeret svar.

Hvorfor er RAG nødvendigt?

Store sprogmodeller som GPT-4 er trænet på enorme mængder data fra internettet, men denne viden er statisk. Den afspejler kun den information, der var tilgængelig op til et bestemt tidspunkt, kendt som modellens “knowledge cut-off”. RAG løser dette problem ved at give modellen adgang til opdateret information i realtid.

En anden central udfordring ved sprogmodeller er deres tendens til at “hallucinere”, hvilket betyder, at de kan generere faktuelt ukorrekte eller opdigtede svar. Dette sker, når modellen ikke har den nødvendige viden og i stedet forsøger at gætte sig frem. Fænomener som at Google anbefaler lim på pizza er et resultat af denne type fejl.

Ved at tvinge modellen til at basere sit svar på specifikke, hentede dokumenter, reducerer RAG markant risikoen for hallucinationer. Desuden mangler standardmodeller viden om private eller domænespecifikke data, som f.eks. en virksomheds interne politikker. RAG gør det muligt at tilføje denne specifikke viden uden at skulle gen-træne hele modellen.

Fordele ved at anvende RAG

Implementeringen af RAG i AI-systemer giver en række konkrete fordele for både virksomheder og brugere. Teknologien forbedrer kvaliteten og troværdigheden af de svar, som sprogmodeller genererer, ved at gøre dem mere faktabaserede og kontekstuelt relevante.

De primære fordele inkluderer:

  • Aktuel og præcis information: Svar baseres på de seneste data fra en kontrolleret vidensbase, ikke på en potentielt forældet træningsmodel.
  • Reduceret risiko for hallucinationer: Ved at forankre svar i konkrete kildedokumenter minimeres modellens tendens til at opfinde information.
  • Øget gennemsigtighed og troværdighed: Systemet kan ofte henvise til de specifikke kilder, der er brugt til at generere et svar, hvilket gør det muligt for brugeren at verificere informationen.
  • Omkostningseffektivitet: Det er typisk billigere og hurtigere at opdatere en ekstern datakilde end at skulle finetune eller gen-træne en hel sprogmodel, hver gang ny viden skal tilføjes.

Udfordringer og begrænsninger ved RAG

Selvom RAG er en effektiv teknik, er den ikke uden udfordringer. Kvaliteten af hele systemet afhænger direkte af kvaliteten af den underliggende datakilde. Hvis databasen indeholder forældet, ukorrekt eller dårligt struktureret information, vil de genererede svar afspejle disse mangler.

Effektiviteten af selve søgeprocessen er en anden kritisk faktor. Hvis systemet ikke formår at finde de mest relevante dokumenter til et givent spørgsmål, kan sprogmodellen mangle den nødvendige kontekst til at give et fyldestgørende svar. Dette kan føre til vildledende eller ufuldstændige resultater.

Opsætningen af et RAG-system kræver desuden teknisk ekspertise. Det involverer valg og konfiguration af komponenter som vector databases, embedding-modeller og API-integrationer. Endelig kan RAG-processen introducere en smule forsinkelse (latens) i svartiden, da systemet skal udføre et ekstra søgetrin, før svaret kan genereres.

Typiske anvendelsesområder i Danmark

I en dansk kontekst anvendes RAG i stigende grad til at løse konkrete forretningsmæssige udfordringer, hvor præcision og adgang til specifik viden er afgørende. Teknologien er særligt værdifuld i brancher, der er underlagt streng regulering eller håndterer store mængder intern dokumentation.

Et centralt anvendelsesområde er automatisering af kundeservice, hvor chatbots kan give kunder præcise svar baseret på opdaterede produktmanualer, forretningsbetingelser og FAQ’er. Dette forbedrer kundeoplevelsen og aflaster medarbejderne.

Internt i virksomheder bruges RAG til at bygge vidensbaser, hvor medarbejdere kan stille spørgsmål på naturligt sprog til HR-håndbøger, tekniske vejledninger eller juridiske dokumenter. Inden for den finansielle og juridiske sektor hjælper teknologien med at accelerere research ved hurtigt at finde relevante oplysninger i store mængder lovtekster og markedsanalyser.

RAG versus finetuning: Hvad er forskellen?

RAG og finetuning er to forskellige metoder til at tilpasse sprogmodeller, og de løser forskellige opgaver. Finetuning indebærer, at man gen-træner en eksisterende model på et nyt, specifikt datasæt. Dette ændrer modellens interne parametre (vægte) og lærer den en ny adfærd, stil, tone eller specialiseret viden.

RAG ændrer derimod ikke selve sprogmodellen. I stedet giver metoden modellen adgang til en ekstern vidensbase, som den kan slå op i, når den skal besvare et spørgsmål. Man kan sammenligne det med at give en person adgang til et bibliotek (RAG) versus at sende personen på et specialiseret kursus (finetuning).

De to metoder udelukker ikke hinanden og kan med fordel kombineres. En model kan først blive finetunet til at forstå en bestemt branches terminologi og derefter blive integreret i et RAG-system for at give den adgang til de seneste data inden for samme branche.

Fremtiden for RAG og integration med AI-agenter

RAG er en fundamental teknologi, der fungerer som en byggeklods for mere avancerede og autonome AI-systemer. Teknologien er afgørende for udviklingen af den næste generation af assistenter og agenter, der skal kunne handle baseret på aktuel og korrekt information.

En AI-agent, der har til opgave at udføre komplekse opgaver, kan bruge RAG til at indhente den nødvendige viden, før den træffer en beslutning. For eksempel kan en agent, der planlægger en forretningsrejse, bruge RAG til at hente opdaterede flypriser, hotelanmeldelser og virksomhedens rejsepolitik.

Fremtidige RAG-systemer forventes at blive endnu mere sofistikerede. De vil kunne hente information fra flere forskellige kilder samtidigt, f.eks. interne databaser, offentlige API’er og live søgninger på internettet. Samtidig vil de udvikle evnen til at vurdere troværdigheden af de forskellige kilder og prioritere den mest pålidelige information. Værktøjer som LangChain spiller allerede en stor rolle i at gøre disse integrationer mere tilgængelige.

Implementering af RAG i en virksomhed

At implementere et RAG-system kræver en struktureret tilgang. Det første skridt er at definere et klart formål: Hvilket specifikt problem skal løses? Det kan være at reducere svartiden i kundeservice eller at give medarbejdere hurtigere adgang til intern viden.

Dernæst skal datakilderne udvælges og forberedes. Kvaliteten af data er afgørende for systemets succes. Data skal være rene, opdaterede og velstrukturerede. I praksis ser vi ofte, at virksomheder undervurderer den tid og de ressourcer, der kræves til at vedligeholde en højkvalitets vidensbase.

Valget af den rette teknologi er også vigtigt. Dette inkluderer en embedding-model til at omdanne tekst til vektorer, en vector database (f.eks. Pinecone eller Weaviate) til at lagre og søge i disse vektorer, og en passende sprogmodel til at generere det endelige svar. Hele processen er beskrevet i detaljer i den oprindelige forskningsartikel fra Facebook AI Research, som kan findes på arXiv.org.