Skip to main content
Ein Modell allein kann keine Fragen zu Ereignissen nach dem Ende seines Trainingszeitraums beantworten oder eine Quelle angeben. Die Lösung ist Grounding: Rufen Sie zur Anfragezeit relevante Webinhalte ab und übergeben Sie sie dem Modell als Kontext. Dieser Leitfaden zeigt das Muster mit Novita AI Search für Retrieval und die LLM API für die Synthese — alles hinter einem einzigen API-Schlüssel.

Was ist RAG?

Retrieval-augmented generation (RAG) ist das Muster hinter jeder fundierten Antwort hier: Anstatt sich darauf zu verlassen, was das Modell während des Trainings auswendig gelernt hat, rufst du zum Zeitpunkt der Anfrage relevante Dokumente ab und erweiterst den Prompt damit, sodass das Modell seine Antwort aus diesem frischen, überprüfbaren Kontext generiert. Genau diesen Abrufschritt stellt AI Search bereit. Das Web wird zu deiner Wissensbasis, und du musst keine Vektordatenbank aufbauen oder pflegen, um loszulegen — ein Search-Aufruf gibt die Textpassagen zurück, und das LLM erledigt den Rest. Wenn du später Abruf über deine eigenen privaten Dokumente möchtest, gilt dieselbe dreistufige Struktur; du tauschst lediglich die Websuche gegen einen Vektorspeicher aus. RAG bringt dir drei Dinge, die ein reines Modell nicht bieten kann:
  • Aktualität — Antworten spiegeln Inhalte wider, die nach dem Trainings-Cutoff des Modells veröffentlicht wurden.
  • Zuordnung — jede Behauptung kann auf eine Quell-URL verweisen, die der Nutzer prüfen kann.
  • Reduzierte Halluzinationen — die Fundierung des Modells in abgerufenem Text hält es davon ab, Fakten zu erfinden.

Wie Grounding funktioniert

Ein einzelner RAG-Durchlauf folgt drei Schritten:
  1. Suchen (abrufen) im Web nach Seiten, die für die Frage relevant sind.
  2. Extrahieren (erweitern) des benötigten Inhalts — Snippets oder vollständiger Seitentext — in den Prompt.
  3. Synthetisieren (generieren) einer Antwort, indem dieser Inhalt an ein LLM übergeben wird, mit der Aufforderung, Quellen zu zitieren.
Du kannst das mit zwei Aufrufen tun (Search + LLM) oder sogar mit einem, da sowohl Exa als auch Tavily eine Antwort für dich synthetisieren können. Wähle danach, wie viel Kontrolle du über die endgültige Formulierung und die Zitationen brauchst.

Lass den Anbieter die Antwort schreiben

Der schnellste Weg. Tavilys Search gibt eine LLM-generierte Antwort zurück, wenn du festlegst include_answer, und Exa bietet eine dedizierte Antwort Endpunkt. Ein Aufruf, keine Orchestrierung.
Verwende dies, wenn du eine gute Antwort mit minimalem Code möchtest. Greife auf den unten beschriebenen Abrufen-dann-Synthetisieren-Ansatz zurück, wenn du Kontrolle über das Modell, den Ton, das Ausgabeformat oder die Darstellung von Quellenangaben benötigst.

Abrufen, dann mit einem LLM synthetisieren

Dies gibt dir volle Kontrolle. Suche nach Quellen und übergib die Ergebnisse dann an die LLM API mit Anweisungen, nur anhand dieses Kontexts zu antworten und jede Behauptung zu belegen.
Derselbe Ablauf funktioniert mit Exa Search — ersetze die Route durch /v3/exa/search und lesen text aus jedem Ergebnis statt raw_content.

Optimierung der Retrieval-Qualität

Die Qualität einer fundierten Antwort hängt weit mehr davon ab, was du abrufst, als vom Modell. Ein paar Stellschrauben mit großer Wirkung:
  • Aktualität. Schränke bei zeitkritischen Fragen nach Datum ein. Tavily stellt time_range und start_date/end_date; Exa stellt bereit startPublishedDate/endPublishedDate. Dadurch bleiben veraltete Seiten aus dem Kontext.
  • Quellenvertrauen. Verwenden Sie include_domains/excludeDomains um den Abruf auf Quellen zu beschränken, denen du vertraust (offizielle Dokumentation, seriöse Verlage), und Websites von geringer Qualität auszuschließen.
  • Themenhinweise. Tavilys topic (news, finance, general) und Exas category die Engine auf die richtige Art von Ergebnis ausrichten.
  • Kontext passend dimensionieren. Begrenze extrahierten Text (Tavily chunks_per_source, Exa maxCharacters) sodass du genügend Signal weitergibst, ohne das Kontextfenster des Modells oder dein Token-Budget zu sprengen.

Search vs. Extract vs. Crawl

Wähle das Retrieval-Primitiv, das deinem Bedarf entspricht:
  • Search — du hast eine Frage und musst relevante Seiten entdecken. Der standardmäßige Ausgangspunkt.
  • Extract / Contents — du kennst die URLs bereits und möchtest sauberen Text daraus. Gut für die Fundierung auf einer festen Dokumentenmenge. Siehe Tavily Extract und Exa Contents.
  • Crawl / Map — Sie möchten eine ganze Website oder einen Abschnitt erfassen und dabei Links folgen. Gut geeignet, um offline eine Wissensdatenbank aufzubauen. Siehe Tavily Crawl und Tavily Map.
Einen umfassenderen Agenten, der iterativ sucht und über viele Quellen schlussfolgert, finden Sie in der DeepSearcher-Integration.

Für die Produktion vorbereiten

  • Behandle leere Ergebnisse. Wenn die Suche nichts Relevantes zurückgibt, lasse das Modell sagen, dass es die Frage nicht beantworten kann, statt eine Antwort zu erfinden. Der System-Prompt oben tut dies.
  • Cache, wann immer du kannst. Identische Abfragen liefern ähnliche Ergebnisse; das Caching von Retrieval reduziert Kosten und Latenz.
  • Beachte Rate Limits. Retrieval- und LLM-Aufrufe sind separat begrenzt — eine Suchanfrage belastet dein LLM-Kontingent nicht. Führe Backoff durch bei 429 für beides. Siehe LLM-Ratenlimits für die LLM-Seite.
  • Schlüssel serverseitig halten. Ihr Novita-Schlüssel authentifiziert hier jeden Aufruf — liefern Sie ihn niemals in clientseitigem Code aus.
Zuletzt geändert am 10. August 2026