> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Exa

> Utilisez Exa comme fournisseur de recherche web par défaut dans les agents FIM One — modes neural, fast, deep-reasoning et instant avec des paramètres par défaut sensés.

[Exa](https://exa.ai) 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](https://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` :

```bash theme={null}
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 :

```bash theme={null}
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 :

| Variable                   | Par défaut | Description                                                                                 |
| -------------------------- | ---------- | ------------------------------------------------------------------------------------------- |
| `EXA_API_KEY`              | —          | **Requis.** Votre clé API Exa.                                                              |
| `EXA_SEARCH_TYPE`          | `auto`     | L'un de `auto`, `neural`, `fast`, `deep-lite`, `deep`, `deep-reasoning`, `instant`.         |
| `EXA_CATEGORY`             | —          | L'un de `company`, `research paper`, `news`, `personal site`, `financial report`, `people`. |
| `EXA_INCLUDE_DOMAINS`      | —          | Liste d'autorisation séparée par des virgules (max 1200 entrées).                           |
| `EXA_EXCLUDE_DOMAINS`      | —          | Liste de blocage séparée par des virgules (max 1200 entrées).                               |
| `EXA_START_PUBLISHED_DATE` | —          | ISO-8601, par ex. `2025-01-01`.                                                             |
| `EXA_END_PUBLISHED_DATE`   | —          | ISO-8601.                                                                                   |
| `EXA_MAX_AGE_HOURS`        | —          | Retourner uniquement les pages indexées au cours des N dernières heures.                    |
| `EXA_INCLUDE_HIGHLIGHTS`   | `true`     | Extraire les extraits en surbrillance des résultats.                                        |
| `EXA_TEXT_MAX_CHARS`       | `800`      | Limite de longueur du texte/extrait par résultat.                                           |
| `EXA_SUMMARY_QUERY`        | —          | Invite 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

```bash theme={null}
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

```bash theme={null}
EXA_SEARCH_TYPE=neural
EXA_CATEGORY=research paper
EXA_INCLUDE_HIGHLIGHTS=true
EXA_TEXT_MAX_CHARS=2000
```

### Preset: agent de raisonnement profond

```bash theme={null}
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`](https://github.com/fim-ai/fim-one/blob/master/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

* [Page d'accueil Exa](https://exa.ai) · [Référence API Exa](https://exa.ai/docs/reference/search)
* [Guide de démarrage rapide FIM One](/quickstart) · [Référence des variables d'environnement](/configuration/environment-variables)
