auto (Exas empfohlener Standard), neural, fast, deep-lite, deep, deep-reasoning und instant — sowie strukturierte Inhaltsabfrage (Highlights, Text, Zusammenfassungen) und umfangreiche Filterung (Kategorien, Ein-/Ausschluss von Domains, Datumsbereiche und Max-Age-Fenster). Sinnvolle Standardeinstellungen sind bereits enthalten, sodass nachgelagerte Entwickler Exa Best Practices ohne manuelle Optimierung erhalten.
Warum Exa in FIM One
- Neural-Suche für Agent-Reasoning — Exas Embedding-native Suche liefert semantisch relevante Ergebnisse, nicht nur Keyword-Treffer. Das ist wichtig für Research-Agenten, die über Web-Inhalte reasoning durchführen.
- Deep-Reasoning-Modus für schwierige Anfragen — Single-Call Multi-Hop-Reasoning über das offene Web, ohne dass der Agent Sub-Queries selbst orchestriert.
- Integrierte Content-Extraktion — Highlights + Text + optionale Zusammenfassungen werden mit dem Suchaufruf bereitgestellt, wodurch eine zweite Round-Trip zum Abrufen und Bereinigen von Seiteninhalten entfällt.
- Enge Domain- / Aktualitätskontrollen — umfasst Include/Exclude-Domain-Listen (bis zu 1200 Einträge), ISO-8601-Datumsfenster und
maxAgeHoursfür zeitkritische Workflows.
Schnelleinstieg
1. Exa API-Schlüssel abrufen
Melden Sie sich bei exa.ai an und holen Sie sich Ihren API-Schlüssel aus dem Dashboard.2. Legen Sie den Schlüssel in FIM One fest
Fügen Sie zu Ihrer.env hinzu:
WEB_SEARCH_PROVIDER nicht gesetzt ist, wählt FIM One automatisch Exa aus, wenn EXA_API_KEY vorhanden ist.
Um Exa explizit zu machen:
3. Nutzen Sie es von jedem Agenten aus
Die Websuche wird Agenten als integriertes Tool zur Verfügung gestellt — keine zusätzliche Verdrahtung erforderlich. Agenten mit aktiviertemweb_search werden automatisch über Exa weitergeleitet.
Konfiguration
Alle Exa-spezifischen Parameter haben sinnvolle Standardwerte. Überschreiben Sie diese über Umgebungsvariablen:| Variable | Standard | Beschreibung |
|---|---|---|
EXA_API_KEY | — | Erforderlich. Ihr Exa API-Schlüssel. |
EXA_SEARCH_TYPE | auto | Einer von auto, neural, fast, deep-lite, deep, deep-reasoning, instant. |
EXA_CATEGORY | — | Einer von company, research paper, news, personal site, financial report, people. |
EXA_INCLUDE_DOMAINS | — | Komma-getrennte Zulassungsliste (max. 1200 Einträge). |
EXA_EXCLUDE_DOMAINS | — | Komma-getrennte Blockliste (max. 1200 Einträge). |
EXA_START_PUBLISHED_DATE | — | ISO-8601, z. B. 2025-01-01. |
EXA_END_PUBLISHED_DATE | — | ISO-8601. |
EXA_MAX_AGE_HOURS | — | Gibt nur Seiten zurück, die in den letzten N Stunden indexiert wurden. |
EXA_INCLUDE_HIGHLIGHTS | true | Rufen Sie Highlight-Snippets aus den Ergebnissen ab. |
EXA_TEXT_MAX_CHARS | 800 | Obergrenze für Text-/Snippet-Länge pro Ergebnis. |
EXA_SUMMARY_QUERY | — | Optionale benutzerdefinierte Zusammenfassungsanfrage pro Ergebnis. |
Wie Snippets zusammengesetzt werden
FIM One durchläuft Exas Inhaltsfelder in Kaskade, um bei jedem Ergebnis ein nützliches Snippet zu erstellen, unabhängig davon, welche Inhaltstypen die API gefüllt hat:highlights(verbunden mit…) — bevorzugt, wenn vorhandentext— fällt zurück auf extrahierten Artikeltext, gekürzt aufEXA_TEXT_MAX_CHARSsummary— wird verwendet, wenn beide oben genannten leer sind
Voreinstellung: Nachrichtenüberwachung
Voreinstellung: Forschungsarbeit-Abruf
Preset: Deep-Reasoning Agent
Zuordnung
Jede Exa-Anfrage von FIM One enthält einenx-exa-integration: fim-one Header, damit Exa die API-Nutzung in Maintainer-Dashboards dieser Integration zuordnen kann. Dies wird nur für die Zuordnung auf Integrationsebene verwendet – es erfolgt keine Identifizierung oder Verfolgung von Endbenutzern.
Der Exa-Connector befindet sich unter src/fim_one/core/web/search/exa.py und folgt demselben BaseWebSearch-Protokoll wie Jina, Tavily und Brave – das Wechseln von Anbietern ist eine einfache Umgebungsvariablenänderung.