Zo werkt RAG in een AI-toepassing
RAG staat voor retrieval-augmented generation. Onderzoekers van Facebook AI Research beschreven de techniek in 2020 (bron: Lewis en anderen, 2020).
Een gewoon taalmodel antwoordt uit wat het tijdens de training heeft geleerd. Je eigen handleidingen, prijslijsten en afspraken kent het dus niet. Bij RAG zoekt de toepassing eerst de stukken tekst op die bij de vraag passen. Die stukken gaan samen met de vraag naar het taalmodel. Het model schrijft het antwoord op basis van die stukken en kan erbij zeggen waar het vandaan komt.
Om snel de juiste stukken te vinden, knip je je documenten vooraf in kleine delen. Elk deel krijgt een embedding: een reeks getallen die de betekenis vastlegt. Die embeddings staan in een vectordatabase. Een vraag krijgt ook een embedding, en de database geeft de delen terug met de meest vergelijkbare betekenis.
Waar RAG goed in is en waar het misgaat
RAG past bij vragen waarvan het antwoord in je eigen documenten staat. Denk aan een vraag over een garantieregeling, een werkinstructie of een clausule in een contract. Verandert een document, dan zet je de nieuwe versie in de database. Het model hoeft daarvoor niet opnieuw getraind te worden.
Het gaat mis als de juiste tekst er niet bij zit. Staat het antwoord alleen in een oude versie, of vindt de zoekstap het verkeerde stuk, dan klinkt het antwoord toch overtuigend. Daarom horen een bronvermelding en een vaste controle erbij. Een collega kijkt mee bij antwoorden die naar een klant gaan.
Goede RAG begint bij goede data. Dubbele, verouderde of tegenstrijdige documenten geven ook dubbele, verouderde of tegenstrijdige antwoorden.
BegripEen taalmodel is een AI-model dat tekst leest en schrijft.BegripEen embedding is een reeks getallen die de betekenis van een stuk tekst vastlegt.BegripEen vectordatabase is een database die embeddings opslaat, zodat je snel teksten vindt met een vergelijkbare betekenis.