Eenheid 1 / 11

Wat is RAG en waarom is het nodig?

Winst:

  • Uitleggen dat RAG context injecteert zonder de gewichten van het model te veranderen en werkt met een 'open boek examen'-logica
  • RAG vergelijken met verfijning en lange contextbenaderingen op basis van kosten, tijdigheid en gebruiksscenario
  • Een overzicht van de stappen van een typische RAG-pijplijn, bestaande uit indexerings- en queryfasen

Hoe krachtig een taalmodel (kunstmatige intelligentie die tekst begrijpt en produceert; we zullen het vanaf nu kortweg model noemen) ook is, het kent niet het contract dat uw bedrijf gisteren heeft ondertekend, uw interne wiki-pagina (interne kennisbank) of de releasenote die vanochtend is gepubliceerd. Het model is beperkt tot algemene kennis tot de datum waarop het werd getraind; Dit wordt de ‘onderwijssluitingsdatum’ genoemd. RAG (Retrieval-Augmented Generation) vult precies deze leemte op: het vindt de bedrijfsdocumenten die verband houden met de vraag, geeft deze aan het model als context (dat wil zeggen de aanvullende tekst die het zal lezen terwijl het antwoord wordt geproduceerd) en laat het antwoord produceren op basis van deze context.

In deze unit zullen we duidelijk zien wat RAG is, wanneer het de voorkeur heeft boven welke alternatieven, en de stappen van een typische RAG-pijpleiding. Alle volgende eenheden zullen de delen van deze kaart één voor één verdiepen.

Het basisidee van RAG: Open Boek Examen

Laten we RAG in één zin uitleggen: "Zoek eerst het betreffende document, laat het model dat document dan lezen en print het antwoord daarop af."

De meest bruikbare analogie is deze: RAG verplaatst het model van een ‘gesloten boek examen’ naar een ‘open boek examen’. Bij het geslotenboekexamen antwoordt de student alleen uit het hoofd; Er is een groot risico dat u iets verzint dat u zich niet herinnert. Bij het openboekexamen antwoordt de student door te kijken naar de bron die voor hem ligt. In RAG antwoordt het model niet meer vanuit zijn eigen geheugen, maar vanuit de actuele en specifieke tekst die jij eraan geeft.

Kritisch punt: RAG verandert niets aan de gewichten van het model, dat wil zeggen de miljarden numerieke parameters die het model heeft geleerd. Je traint het model niet opnieuw. Voor elke vraag injecteert u stukjes tekst die relevant zijn voor die vraag in de prompt (instructietekst die naar het model wordt verzonden). U hoeft het model dus niet opnieuw te trainen wanneer een document wordt bijgewerkt; u vernieuwt eenvoudig het betreffende record in de zoekdatabase.

Tip: Twee vragen bepalen de kwaliteit van de RAG: (1) Heeft u het juiste document gevonden? (2) Heeft het model het correct gelezen? De eerste is "ophaalkwaliteit", de tweede is "generatiekwaliteit". De twee worden afzonderlijk gemeten en verbeterd.

RAG, verfijning of lange context?

Bij het zoeken naar een oplossing voor een organisatorisch probleem worden vaak drie paden door elkaar gehaald. Laten we hun verschillen verduidelijken. Bij finetuning wordt de gewichten van het model bijgewerkt met uw gegevens en wordt er een nieuw gedrag/nieuwe stijl aangeleerd. Lange context betekent dat alle documenten rechtstreeks in de prompt worden ingevuld, zonder enige selectie.

Benadering

Wat doet

Wanneer is het passend?

Kosten / risico

RAG

Injecteert het relevante document als context

Vaak wisselende, uitgebreide, specifieke informatie

Laag; makkelijk te updaten, bron mag vermeld worden

Fijnafstemming

Werkt gewichten bij met nieuwe gegevens

Vaste stijl/format/taalonderwijs

Hoog; Bij elke update is omscholing vereist

Alleen lange context

Vult alle documenten in de prompt in

Kleine, stationaire documentenset

De symbolische kosten en het risico van "verlies van het middelste deel" nemen toe

In de regel: Door het afstemmen leert het model praten; RAG vertelt het model wat hij moet weten. In de meeste bedrijfsscenario's wordt eerst RAG geprobeerd omdat het goedkoop is, kan worden bijgewerkt en de bron van het antwoord kan worden weergegeven. Een lange context is redelijk als de documentenset erg klein en vast is (bijvoorbeeld één handleiding van 20 pagina's); Maar met duizenden pagina's is het duur en kan het model midden in een lange tekst informatie missen.

Een typische RAG-pijpleiding

RAG bestaat uit twee hoofdfasen: indexeren (voorbereiding, eenmalig of periodiek gedaan) en bevragen (draait op elke gebruikersvraag).

Stap voor stap indexeren (offline, zonder dat de gebruiker hoeft te wachten):

  1. Verzamelen: Haal documenten uit bronnen (PDF, wiki, ticketsysteem, database, e-mail).
  2. Chunking: Breek lange tekst op in kleinere, hanteerbare stukken.
  3. Inbedden: Converteer elk onderdeel naar inbedding (de getalvector die de betekenis van de tekst draagt).
  4. Opslaan: schrijf de vectoren samen met de tekst en metadata (bron, datum, autorisatie-informatie) naar de vectordatabase.

Stapsgewijze opvraag (online, terwijl gebruiker wacht):

  1. Converteer de vraag van de gebruiker naar insluiten.
  2. Haal de meest vergelijkbare onderdelen op uit de vectordatabase.
  3. Plaats deze stukken + vraag in een promptsjabloon.
  4. Haal het contextuele antwoord en de bijbehorende bronnen uit het model.

# Conceptuele schets van de onderzoeksfase (niet afhankelijk van de taal)question = "Hoeveel dagen jaarlijks verlof?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # meest vergelijkbare partsprompt = f"""Beantwoord de VRAAG met behulp van de CONTEXT hieronder. Als het antwoord niet in de context staat, zeg dan "Ik heb hier geen informatie over." Fitting.CONTEXT:{parts}VRAAG: {vraag}"""antwoord = model.uret(prompt) # bijv. model: claude-opus-4-8

Deze stroom is een kaart van elke fase, die we in volgende eenheden één voor één zullen uitpakken.

Zwakke prompt/sterke prompt

Zelfs met dezelfde RAG-context verandert de kwaliteit van de prompt het antwoord.

Zwakke prompt (open voor modelaanpassing, vereist geen middelen):

Gebruik deze informatie en zeg jaarlijks verlof: {parts}. Vraag: {vraag}

Krachtige prompt (aarding + "Ik weet het niet"-toestemming + bronverzoek):

Antwoord alleen op basis van de onderstaande CONTEXT. Als er geen duidelijk antwoord is in de context, schrijf dan: "Ik kon hierover geen informatie vinden in de documentatie"; Raad het niet. Voeg aan het einde van je antwoord de tag [Bron: bestandsnaam] toe van het stuk waarop je vertrouwt. CONTEXT: {stukjes} VRAAG: {vraag}

Drie mini-hoesjes

Geval 1 — HR-assistent (Human Resources). Een bedrijf heeft een HR-handboek van 340 pagina’s en medewerkers stellen gemiddeld 90 vragen per dag. Er werd geprobeerd de handleiding te verfijnen, maar omdat de handleiding maandelijks werd bijgewerkt, was er elke keer opnieuw bijscholing nodig; De kosten bereikten duizenden dollars per maand. Na de overstap naar RAG werd de update teruggebracht tot de stap "het document opnieuw indexeren" (minuten) en steeg het percentage juiste antwoorden van 71% naar 93% bij handmatige meting.

Geval 2 — Klantenondersteuning. Het ondersteuningsteam beschikt over 12.000 opgeloste tickets en 800 helpartikelen. Het duurt gemiddeld 4 minuten voordat een vertegenwoordiger handmatig een antwoord heeft gevonden. Toen de RAG-assistent de vijf meest relevante documenten meebracht en een conceptantwoord produceerde, werd de tijd teruggebracht tot 40 seconden; Maar het team besefte het risico dat je ‘onzeker overkomt door het verkeerde artikel te brengen’ en stelde het vermelden van de bron verplicht.

Zaak 3 — Wet. Een contractteam vroeg: "In welke contracten geldt de vertrouwelijkheidsclausule voor vijf jaar?" hij stelt de vraag. In de lange contextproef werden in één prompt 60 contracten ingevuld; het model sloeg de middelste twee contracten over. Toen alleen de relevante items met RAG werden geïntroduceerd, daalden de tokenkosten met 80% en werd het ontbrekende overslaan gereset.

Waarom is RAG nodig?

  • Actualiteit: u krijgt toegang tot informatie na de sluitingsdatum van de training.
  • Bijzondere informatie: Uw interne documenten zijn bij geen enkel model inbegrepen in de opleiding; Alleen jij kunt geven.
  • Controleerbaarheid: u kunt de bron van het antwoord vermelden (citaat) – essentieel voor auditing en vertrouwen.
  • Hallucinatiecontrole: het is afhankelijk van de tekst die ervoor wordt geplaatst in plaats van een model te verzinnen.
  • Kosten: Het is veel goedkoper en sneller in gebruik te nemen dan fine-tuning.
Let op: RAG is geen magie. Als je het verkeerde stuk inbrengt, komt het model met het verkeerde antwoord en ziet er ‘zelfverzekerd’ uit. Houd rekening met de uitdrukking "Ophaalkwaliteit = RAG-kwaliteit".

Veel voorkomende fouten

  • RAG verwarren met fijnafstemming: RAG verandert de gewichten niet; Het voegt alleen maar context toe. Het verwarren van deze twee zal leiden tot het kiezen van de verkeerde architectuur.
  • 'Ik weet het niet' niet toestaan: als de prompt het model vrij laat om de lege ruimte in te vullen, wordt dit goedgemaakt.
  • Geen bronvermelding: Een antwoord zonder bron is niet te controleren; De gebruiker kan de fout niet opmerken.
  • Alles in één prompt proppen: lange context ziet er goedkoop uit, maar is duur en mist de middelste informatie.
  • Vastlopen in de generatie zonder de retrieval te meten: Als het antwoord slecht is, vraag dan eerst: "Is het juiste onderdeel aangekomen?" moet worden gevraagd.

Samengevat

  • RAG is een aanpak die documenten die relevant zijn voor de vraag als context in het model injecteert; wijzigt de gewichten niet ("openboekexamen").
  • Bij finetuning wordt stijl/format aangeleerd, RAG geeft actuele en specifieke informatie; lange context werkt goed voor kleine vaste sets. In de meeste scenario's wordt eerst RAG geprobeerd.
  • De pijplijn bestaat uit twee fasen: offline indexeren (chunk + insluiten + opslaan) en online query's (ophalen + prompt + genereren).
  • RAG biedt tijdigheid, specifieke informatie, controleerbaarheid, controle van hallucinaties en lage kosten.
  • De kwaliteit van het systeem is direct afhankelijk van de kwaliteit van de ophaalactie: fout stuk betekent fout antwoord.

Applicatie taak

Kies een echte informatiebron van uw eigen team (bijvoorbeeld een proceduredocument of FAQ-pagina). (1) Schrijf 5 feitelijke vragen over deze bron. (2) Noteer welk deel van het document het juiste antwoord voor elke vraag bevat – dit wordt uw lijst met “gouden antwoorden”. (3) Gebruik het bovenstaande 'sterke prompt'-sjabloon, plak de relevante sectie handmatig als context en vraag het aan een model. (4) Vergelijk het antwoord van het model met het gouden antwoord en markeer het als waar/niet waar. Dit is de eerste handmatige versie van de beoordeling die u in toekomstige eenheden gaat automatiseren.

controlelijst

  • [ ] Ik kan in één zin uitleggen dat RAG de gewichten niet verandert, maar alleen context toevoegt.
  • [ ] Ik kan onderscheid maken tussen RAG, fine-tuning en lange context en wanneer dat passend is.
  • [ ] Ik kan de fasen van indexeren (collect-shred-embed-save) en query's (embed-fetch-prompt-generate) op volgorde tellen.
  • [ ] Ik weet waarom ik de instructies "als het niet in de context staat, zeg dan dat ik het niet weet" en "cite source" aan de prompt heb toegevoegd.
  • [ ] Ik kan het principe "Ophaalkwaliteit = RAG-kwaliteit" aanpassen aan mijn eigen geval.