Passer au contenu principal
Exa est intégré en tant que backend de recherche web de première classe dans FIM One. Les agents ont accès à toute la surface de recherche Exa — auto (défaut recommandé par Exa), neural, fast, deep-lite, deep, deep-reasoning et instant — plus la récupération de contenu structuré (highlights, texte, résumés) et le filtrage riche (catégories, inclusion/exclusion de domaines, plages de dates et fenêtres d’âge maximum). Des paramètres par défaut sensés sont fournis prêts à l’emploi, afin que les développeurs en aval bénéficient des meilleures pratiques Exa sans réglage manuel.

Pourquoi Exa dans FIM One

  • Recherche neuronale pour le raisonnement des agents — La recherche native par embedding d’Exa retourne des résultats sémantiquement pertinents, pas seulement des correspondances de mots-clés. C’est important pour les agents de recherche qui raisonnent sur le contenu web.
  • Mode de raisonnement profond pour les requêtes difficiles — raisonnement multi-sauts en un seul appel sur le web ouvert, sans que l’agent orchestre lui-même les sous-requêtes.
  • Extraction de contenu intégrée — les surlignages + texte + résumés optionnels arrivent avec l’appel de recherche, éliminant un deuxième aller-retour pour récupérer et nettoyer le contenu de la page.
  • Contrôles stricts du domaine / de la récence — listes d’inclusions/exclusions de domaines (jusqu’à 1200 entrées), fenêtres de dates ISO-8601, et maxAgeHours pour les flux de travail sensibles au temps.

Démarrage rapide

1. Obtenir une clé API Exa

Inscrivez-vous sur exa.ai et récupérez votre clé API depuis le tableau de bord.

2. Définir la clé dans FIM One

Ajoutez à votre .env :
EXA_API_KEY=your_key_here
C’est tout. Si WEB_SEARCH_PROVIDER n’est pas défini, FIM One sélectionne automatiquement Exa lorsque EXA_API_KEY est présent. Pour rendre Exa explicite :
WEB_SEARCH_PROVIDER=exa
EXA_API_KEY=your_key_here

3. Utilisez-le à partir de n’importe quel agent

La recherche web est exposée aux agents en tant qu’outil intégré — aucun câblage supplémentaire nécessaire. Les agents avec web_search activé achemineront automatiquement via Exa.

Configuration

Tous les paramètres spécifiques à Exa ont des valeurs par défaut sensées. Remplacez l’un d’entre eux via des variables d’environnement :
VariablePar défautDescription
EXA_API_KEYRequis. Votre clé API Exa.
EXA_SEARCH_TYPEautoL’un de auto, neural, fast, deep-lite, deep, deep-reasoning, instant.
EXA_CATEGORYL’un de company, research paper, news, personal site, financial report, people.
EXA_INCLUDE_DOMAINSListe d’autorisation séparée par des virgules (max 1200 entrées).
EXA_EXCLUDE_DOMAINSListe de blocage séparée par des virgules (max 1200 entrées).
EXA_START_PUBLISHED_DATEISO-8601, par ex. 2025-01-01.
EXA_END_PUBLISHED_DATEISO-8601.
EXA_MAX_AGE_HOURSRetourner uniquement les pages indexées au cours des N dernières heures.
EXA_INCLUDE_HIGHLIGHTStrueExtraire les extraits en surbrillance des résultats.
EXA_TEXT_MAX_CHARS800Limite de longueur du texte/extrait par résultat.
EXA_SUMMARY_QUERYInvite de résumé personnalisée facultative par résultat.

Comment les extraits sont assemblés

FIM One parcourt les champs de contenu d’Exa pour produire un extrait utile sur chaque résultat, quel que soit les types de contenu que l’API a remplis :
  1. highlights (joints avec ) — préféré quand présent
  2. text — revient au texte d’article extrait, tronqué à EXA_TEXT_MAX_CHARS
  3. summary — utilisé quand les deux précédents sont vides
Cela garantit que les agents en aval ont toujours un extrait non vide pour raisonner, même pour les résultats où Exa n’a pas pu extraire de highlights.

Préréglage : surveillance des actualités

EXA_SEARCH_TYPE=fast
EXA_CATEGORY=news
EXA_MAX_AGE_HOURS=24
EXA_TEXT_MAX_CHARS=1200

Préréglage : récupération d’articles de recherche

EXA_SEARCH_TYPE=neural
EXA_CATEGORY=research paper
EXA_INCLUDE_HIGHLIGHTS=true
EXA_TEXT_MAX_CHARS=2000

Preset: agent de raisonnement profond

EXA_SEARCH_TYPE=deep-reasoning
EXA_TEXT_MAX_CHARS=1500
EXA_SUMMARY_QUERY=What is the key finding and its supporting evidence?

Attribution

Chaque requête Exa de FIM One porte un en-tête x-exa-integration: fim-one pour qu’Exa puisse attribuer l’utilisation de l’API à cette intégration dans les tableaux de bord des mainteneurs. Ceci est utilisé uniquement pour l’attribution au niveau de l’intégration — aucune identification ou suivi des utilisateurs finaux. Le connecteur Exa se trouve à src/fim_one/core/web/search/exa.py et suit le même protocole BaseWebSearch que Jina, Tavily et Brave — changer de fournisseur ne nécessite qu’une modification d’une variable d’environnement.

Liens