Hoe RAG werkt
Een RAG-systeem heeft twee delen.
Voordat iemand iets vraagt: indexeren
Documenten worden verzameld waar ze staan, zoals een documentopslag, een wiki of een ticketsysteem. Ze worden gesplitst in chunks, meestal niet meer dan een paar honderd tokens elk. Elke chunk wordt omgezet in een embedding, een lijst getallen die de betekenis vastlegt, en opgeslagen in een zoekindex, vaak naast een trefwoordindex.
Wanneer iemand een vraag stelt: retrieval en generatie
De vraag wordt in de index gezocht. De best passende passages worden opgehaald, vaak opnieuw gerangschikt door een tweede model, en in de prompt geplaatst met de vraag en instructies zoals "antwoord alleen op basis van deze passages en vermeld ze als bron". Het model schrijft het antwoord, en de applicatie toont de bronnen ernaast.
Architectuuropties voor RAG
| Optie | Hoe het werkt | Waar het past |
|---|---|---|
| Vector search | Vindt passages die qua betekenis dicht bij de vraag liggen, met embeddings | Vragen die anders zijn geformuleerd dan de documenten. Het kan exacte termen zoals codes en namen missen |
| Hybride zoeken | Voert zoeken op trefwoorden (BM25) en vector search samen uit en voegt de resultaten samen | Een sterke standaardkeuze voor bedrijfscontent, die lopende tekst mengt met codes, namen en cijfers |
| Reranking | Een tweede model rangschikt de beste resultaten opnieuw op relevantie | Grote verzamelingen waar de eerste zoekactie veel bijna-treffers oplevert |
| Contextual retrieval | Voegt vóór het indexeren aan elke chunk een korte beschrijving van het document toe | Chunks die buiten hun context hun betekenis verliezen, zoals een clausule of een tabelrij |
| Lange context | Plaatst hele documenten in het contextvenster van het model in plaats van te zoeken | Kleine, stabiele sets documenten. Het kost meer per vraag |
In de tests van Anthropic verlaagden contextuele embeddings in combinatie met zoeken op trefwoorden via BM25 en reranking het percentage gevallen waarin de juiste passage ontbrak in de top 20 met 67%. Azure AI Search voert bijvoorbeeld trefwoord- en vectorqueries parallel uit en voegt ze samen met Reciprocal Rank Fusion, een gangbare manier om hybride zoeken te bouwen.
Controleer voordat u een index bouwt wat uw AI-platform al biedt. Claude kan bijvoorbeeld via connectoren werken met gekoppelde bronnen zoals Google Drive of Microsoft 365, wat vaak genoeg is als eerste stap.
Beperkingen van RAG en hoe u ermee omgaat
- Gemiste passages. Het splitsen van documenten kan een passage losmaken van de context die er betekenis aan geeft, en embeddings kunnen exacte treffers missen die zoeken op trefwoorden wel vindt. Hybride zoeken en contextual retrieval verkleinen beide problemen.
- Verouderde content. Een index is een kopie. Wanneer documenten veranderen, moeten zij en hun embeddings worden bijgewerkt, bij voorkeur automatisch en op de achtergrond.
- Rechten. De index moet respecteren wie wat mag zien, zodat iemand alleen passages ophaalt die hij mag lezen.
- Antwoorden die verder gaan dan de bronnen. RAG vermindert verzonnen antwoorden maar sluit ze niet uit. Instructies om alleen op basis van de passages te antwoorden, bronvermeldingen die mensen kunnen controleren en een eenvoudig "dat weet ik niet" wanneer er niets relevants wordt gevonden, houden antwoorden eerlijk.
- Te veel context. Modellen kunnen informatie kwijtraken die in het midden van een lange prompt staat, dus minder en betere passages zijn vaak beter dan meer.
U weet of een RAG-systeem werkt door het te testen: een set echte vragen met bekende antwoorden en bronnen, gemeten op de kwaliteit van zowel de retrieval als de antwoorden, voor en na elke wijziging.
RAG, fine-tuning en lange context
| Aanpak | Wat het verandert | Gebruik het voor |
|---|---|---|
| RAG | Wat het model kan zien wanneer het antwoordt | Kennis die verandert, omvangrijk is of bronvermelding vraagt |
| Fine-tuning | Hoe het model zich gedraagt, door extra training | Een consistente stijl, een consistent formaat of een consistente taak, niet feiten die veranderen |
| Lange context | Hoeveel het model in één verzoek leest | Enkele documenten tegelijk, zoals één contract of één rapport |
Ze laten zich goed combineren: een model kan worden afgestemd op een formaat, RAG gebruiken voor kennis en een heel document lezen wanneer dat is bijgevoegd.
Waar bedrijven RAG gebruiken
- Beleid en HR: antwoorden over verlof, declaraties of beveiligingsregels, met een link naar het beleid.
- Klantenservice: antwoorden opgesteld uit de kennisbank en eerdere tickets, die een mens verstuurt.
- Juridische zaken en compliance: onderzoek in contracten, clausules en regelgeving, met bronvermelding bij elke passage.
- Technische documentatie: antwoorden voor engineers en buitendienstteams uit handleidingen en specificaties.
- Sales: productinformatie en tekst uit eerdere voorstellen, voor een specifieke kans.
Bronnen
- Lewis et al.: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020
- Anthropic: Introducing Contextual Retrieval, 19 september 2024
- Microsoft: Hybrid search in Azure AI Search
- AWS: What is retrieval-augmented generation?
- Liu et al.: Lost in the Middle: How Language Models Use Long Contexts