Wat is RAG?
Retrieval-augmented generation (RAG) is het patroon achter elk gefundeerd antwoord hier: in plaats van te vertrouwen op wat het model tijdens training heeft onthouden, haal je relevante documenten op tijdens de request en verrijk je de prompt ermee, zodat het model zijn antwoord genereert op basis van die actuele, verifieerbare context. Die ophaalstap is precies wat AI Search biedt. Het web wordt je kennisbank, en je hoeft geen vectordatabase te bouwen of te onderhouden om te beginnen — een search-call retourneert de passages, en de LLM doet de rest. Wanneer je later retrieval over je eigen privédocumenten wilt, is dezelfde vorm in drie stappen van toepassing; je vervangt web search gewoon door een vector store. RAG levert je drie dingen op die een kaal model niet kan bieden:- Actualiteit — antwoorden weerspiegelen content die is gepubliceerd na de training cutoff van het model.
- Attributie — elke bewering kan terugwijzen naar een bron-URL die de gebruiker kan controleren.
- Minder hallucinatie — het model gronden in opgehaalde tekst voorkomt dat het feiten verzint.
Hoe grounding werkt
Eén RAG-beurt volgt drie stappen:- Search (retrieve) het web naar pagina’s die relevant zijn voor de vraag.
- Extract (augment) de content die je nodig hebt — snippets of volledige paginetekst — naar de prompt.
- Synthesize (generate) een antwoord door die content aan een LLM door te geven en te vragen bronnen te citeren.
Laat de provider het antwoord schrijven
De snelste route. Tavily’s Search retourneert een door een LLM gegenereerd antwoord wanneer je insteltinclude_answer, en Exa biedt een speciale Antwoord endpoint. Eén aanroep, geen orchestratie.
Ophalen, dan synthetiseren met een LLM
Dit geeft je volledige controle. Zoek naar bronnen en geef de resultaten vervolgens aan de LLM-API met instructies om uitsluitend op basis van die context te antwoorden en elke bewering te citeren./v3/exa/search en lees text uit elk resultaat in plaats van raw_content.
Retrievalkwaliteit afstemmen
De kwaliteit van een gefundeerd antwoord hangt veel meer af van wat je ophaalt dan van het model. Een paar knoppen met grote impact:- Actualiteit. Beperk bij tijdgevoelige vragen op datum. Tavily biedt
time_rangeenstart_date/end_date; Exa stelt beschikbaarstartPublishedDate/endPublishedDate. Dit houdt verouderde pagina’s buiten de context. - Bronvertrouwen. Gebruik
include_domains/excludeDomainsom het ophalen te beperken tot bronnen die je vertrouwt (officiële documentatie, gerenommeerde uitgevers) en sites van lage kwaliteit buiten te houden. - Onderwerphints. Tavily’s
topic(news,finance,general) en Exa’scategorystuur de engine naar het juiste soort resultaat. - Context op de juiste grootte brengen. Beperk geëxtraheerde tekst (Tavily
chunks_per_source, ExamaxCharacters) zodat je genoeg signaal doorgeeft zonder het contextvenster van het model of je tokenbudget te overschrijden.
Zoeken vs. extraheren vs. crawlen
Kies de retrieval-primitief die past bij je behoefte:- Zoeken — je hebt een vraag en moet relevante pagina’s ontdekken. Het standaard startpunt.
- Extraheren / Inhoud — je kent de URL’s al en wilt er schone tekst uit halen. Goed voor grounding op een vaste set documenten. Zie Tavily Extract en Exa Inhoud.
- Crawlen / in kaart brengen — je wilt een hele site of sectie inlezen door links te volgen. Geschikt om offline een kennisbank op te bouwen. Zie Tavily Crawl en Tavily Map.
In productie nemen
- Handel lege resultaten af. Als search niets relevants retourneert, laat het model dan zeggen dat het niet kan antwoorden in plaats van er een te verzinnen. De bovenstaande system prompt doet dit.
- Cache wanneer je kunt. Identieke queries retourneren vergelijkbare resultaten; retrieval cachen verlaagt kosten en latency.
- Let op rate limits. Retrieval en LLM-calls worden afzonderlijk gelimiteerd — een search request gaat niet ten koste van je LLM-quota. Doe een back-off bij
429voor beide. Zie LLM-snelheidslimieten voor de LLM-kant. - Houd sleutels server-side. Je Novita-sleutel authenticeert elke aanroep hier — lever die nooit mee in client-side code.