Qu’est-ce que le RAG ?
La génération augmentée par récupération (RAG) est le schéma derrière chaque réponse ancrée ici : au lieu de s’appuyer sur ce que le modèle a mémorisé pendant l’entraînement, vous récupérez des documents pertinents au moment de la requête et vous augmentez le prompt avec ceux-ci, afin que le modèle génère sa réponse à partir de ce contexte récent et vérifiable. Cette étape de récupération est exactement ce que fournit AI Search. Le web devient votre base de connaissances, et vous n’avez pas besoin de créer ni de maintenir une base de données vectorielle pour commencer — un appel de recherche renvoie les passages, et le LLM fait le reste. Lorsque vous voudrez plus tard effectuer une récupération sur vos propres documents privés, la même structure en trois étapes s’appliquera ; vous remplacez simplement la recherche web par un vector store. Le RAG vous apporte trois choses qu’un modèle seul ne peut pas offrir :- Fraîcheur — les réponses reflètent du contenu publié après la date limite d’entraînement du modèle.
- Attribution — chaque affirmation peut renvoyer à une URL source que l’utilisateur peut vérifier.
- Hallucinations réduites — ancrer le modèle dans du texte récupéré l’empêche d’inventer des faits.
Comment fonctionne l’ancrage
Un tour RAG unique suit trois étapes :- Rechercher (récupérer) sur le web des pages pertinentes pour la question.
- Extraire (augmenter) le contenu dont vous avez besoin — extraits ou texte complet de page — dans le prompt.
- Synthétiser (générer) une réponse en transmettant ce contenu à un LLM, en lui demandant de citer ses sources.
Laisser le fournisseur écrire la réponse
Le chemin le plus rapide. Search de Tavily renvoie une réponse générée par un LLM lorsque vous définissezinclude_answer, et Exa propose une Answer point de terminaison. Un appel, aucune orchestration.
Récupérer, puis synthétiser avec un LLM
Cela vous donne un contrôle total. Recherchez des sources, puis transmettez les résultats à l’LLM API avec des instructions pour répondre en utilisant uniquement ce contexte et pour citer chaque affirmation./v3/exa/search et lire text de chaque résultat au lieu de raw_content.
Ajuster la qualité de la récupération
La qualité d’une réponse ancrée dépend bien davantage de ce que vous récupérez que du modèle. Quelques leviers à fort impact :- Fraîcheur. Pour les questions sensibles au temps, contraignez par date. Tavily expose
time_rangeetstart_date/end_date; Exa exposestartPublishedDate/endPublishedDate. Cela évite que des pages obsolètes se retrouvent dans le contexte. - Fiabilité des sources. Utilisez
include_domains/excludeDomainspour restreindre la récupération aux sources auxquelles vous faites confiance (documentation officielle, éditeurs réputés) et exclure les sites de faible qualité. - Indices de sujet. Tavily
topic(news,finance,general) et d’Exacategoryorientez le moteur vers le bon type de résultat. - Dimensionnement approprié du contexte. Limitez le texte extrait (Tavily
chunks_per_source, ExamaxCharacters) afin de transmettre suffisamment de signal sans faire exploser la fenêtre de contexte du modèle ni votre budget de tokens.
Search vs. extract vs. crawl
Choisissez la primitive de récupération qui correspond à votre besoin :- Search — vous avez une question et devez découvrir des pages pertinentes. Le point de départ par défaut.
- Extract / Contents — vous connaissez déjà les URLs et souhaitez en obtenir un texte propre. Idéal pour s’ancrer sur un ensemble fixe de documents. Voir Tavily Extract et Exa Contents.
- Crawl / Map — vous voulez ingérer un site ou une section entière, en suivant les liens. Idéal pour constituer une base de connaissances hors ligne. Voir Tavily Crawl et Tavily Map.
Mise en production
- Gérez les résultats vides. Si la recherche ne renvoie rien de pertinent, faites dire au modèle qu’il ne peut pas répondre plutôt que d’en inventer une. Le prompt système ci-dessus le fait.
- Mettez en cache lorsque vous le pouvez. Des requêtes identiques renvoient des résultats similaires ; la mise en cache de la récupération réduit les coûts et la latence.
- Tenez compte des limites de débit. Les appels de récupération et les appels LLM sont limités séparément — une requête de recherche n’entame pas votre quota LLM. Appliquez un backoff en cas de
429pour l’un ou l’autre. Consultez les limites de débit des LLM pour le côté LLM. - Gardez les clés côté serveur. Votre clé Novita authentifie chaque appel ici — ne l’intégrez jamais dans du code côté client.