Exa bietet eine Such-API, die Zugriff auf öffentlich verfügbare Webdaten bietet, die für die Fundierung von Antworten von Large Language Models optimiert sind. Auf dieser Seite wird erläutert, wie Sie Gemini-Antworten mithilfe von Exa kontextualisieren.
Die Fundierung mit der Exa-Websuche auf der Gemini Enterprise Agent Platform ist ein separates Angebot (wie in Ihrer Google Cloud Vereinbarung definiert), das Gemini-Modelle mit öffentlichen Webdaten verbindet, die von der Such-API von Exa bereitgestellt werden.
Anwendungsfälle
Durch die Fundierung mit Exa wird die Genauigkeit verbessert und Halluzinationen werden reduziert, da Modelle Zugriff auf aktuelle, relevante Webdaten erhalten. Zu den häufigsten Anwendungsfällen gehören:
- Allgemeine Agents und Chatbots: Aktuelle Informationen abrufen, um zuverlässigere Antworten zu generieren.
- Recherche-Agents: Führen Sie umfassende Web-Recherchen in mehreren Quellen durch.
- Coding-Agents: Rufen Sie die neuesten Code-Snippets, Dokumente und technischen Referenzen ab.
- Sprachagenten: Webabruf zur Unterstützung von Sprachinteraktionen in Echtzeit mit niedriger Latenz.
- Branchenspezifische Agents: Rufen Sie aktuelle, domänenspezifische Informationen ab, die auf eine bestimmte Branche oder Wissensvertikale zugeschnitten sind.
- Datenanreicherung: Interne Datasets mit aktuellem Webkontext und Metadaten anreichern.
- Automatisierte Workflows: Sammeln Sie regelmäßig Nachrichten, Personen, Unternehmen oder andere häufig aktualisierte Daten für interne oder Produktions-Workflows.
Beispiel
Wer hat den Super Bowl 2026 gewonnen?
| Ohne Fundierung | Mit Fundierung |
|---|---|
| Ich kann dir nicht sagen, wer den Super Bowl 2026 gewonnen hat, da dieses Ereignis noch nicht stattgefunden hat. | Die Seattle Seahawks gewannen den Super Bowl LX am 8. Februar 2026 mit einem Endstand von 29:13 gegen die New England Patriots. Quellen:domain1.com, domain2.com, ... |
Unterstützte Modelle
Grounding mit Exa wird von den folgenden Modellen unterstützt:
- Gemini 2.5 Flash (
gemini-2.5-flash) - Gemini 2.5 Flash Lite (
gemini-2.5-flash-lite) - Gemini 2.5 Pro (
gemini-2.5-pro) - Gemini 3.1 Pro (
gemini-3.1-pro-preview) - Gemini 3.1 Flash Lite (
gemini-3.1-flash-lite) - Gemini 3.5 Flash (
gemini-3.5-flash)
Hinweis
Wenn Sie Grounding mit Exa verwenden möchten, müssen Sie einen API-Schlüssel von der Exa-Website abrufen. Dieser API-Schlüssel wird in Ihrer Anfrage an Gemini verwendet.
Gemini-Antworten mit Exa fundieren
Fundierte Antworten von Gemini mit dem Google Gen AI SDK oder der REST API anfordern Für eine optimale Leistung empfehlen wir, die Standardeinstellungen für optionale Parameter zu verwenden, sofern Sie nicht unbedingt andere Werte benötigen.
Bevor Sie die Beispiele ausführen, müssen Sie die Voraussetzungen erfüllen, einschließlich des Abrufens eines Exa API-Schlüssels.
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google Gen AI SDK mit Vertex AI festlegen:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Bevor Sie das Beispiel ausführen, ersetzen Sie die folgenden Werte:
- MODEL_ID: Die ID eines unterstützten Modells, das verwendet werden soll, z. B.
gemini-2.5-flash. - TEXT: Der Text-Prompt, der an das Modell gesendet werden soll.
- API_KEY: Ihr API-Schlüssel für die Exa-Websuche.
- SEARCH_TYPE: Optional: Der Typ der Exa-Suche, die ausgeführt werden soll. Unterstützte Werte sind
fastundinstant. Der Standardwert istfast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sieinstantfür Anwendungen, die eine möglichst geringe Latenz erfordern, z. B. Chat, Sprach-Agents und Autovervollständigung. Die Reaktionszeit wird minimiert, indem die Geschwindigkeit gegenüber der Suchtiefe priorisiert wird. - EXCLUDE_DOMAINS: Optional: Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Wenn angegeben, werden keine Ergebnisse aus diesen Domains zurückgegeben. Wenn Sie mehrere Domains ausschließen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - INCLUDE_DOMAINS: Optional: Liste der Domains, die in die Suche einbezogen werden sollen. Wenn angegeben, stammen die Ergebnisse nur aus diesen Domains. Wenn Sie mehr als eine Domain einbeziehen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - MAX_CHARACTERS: Optional: Maximale Anzahl der Zeichen, die für Highlights zurückgegeben werden sollen. Steuert die Gesamtlänge des Hervorhebungstexts, der pro URL zurückgegeben wird.
- NUM_RESULTS: Optional: Die maximale Anzahl von Suchergebnissen, die für die Fundierung verwendet werden sollen. Enthält standardmäßig den Wert
5, wenn nichts anderes angegeben ist.
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="MODEL_ID",
contents="TEXT",
config=types.GenerateContentConfig(
tools=[
types.Tool(
exa_ai_search=types.ToolExaAiSearch(
# Required. Your API key for Exa web search.
api_key="API_KEY",
# Optional. Customize the search. Click a placeholder to
# enter a value, or remove the line to accept the default.
custom_configs={
"type": "SEARCH_TYPE",
"excludeDomains": ["EXCLUDE_DOMAINS"],
"includeDomains": ["INCLUDE_DOMAINS"],
"contents": {
"highlights": {
"maxCharacters": MAX_CHARACTERS,
},
},
"numResults": NUM_RESULTS,
},
)
)
],
),
)
print(response.text)
# The grounding metadata contains the web sources used to ground the response.
print(response.candidates[0].grounding_metadata.grounding_chunks)
Java
Informationen zum Installieren oder Aktualisieren von Java
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google Gen AI SDK mit Vertex AI festlegen:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Bevor Sie das Beispiel ausführen, ersetzen Sie die folgenden Werte:
- MODEL_ID: Die ID eines unterstützten Modells, das verwendet werden soll, z. B.
gemini-2.5-flash. - TEXT: Der Text-Prompt, der an das Modell gesendet werden soll.
- API_KEY: Ihr API-Schlüssel für die Exa-Websuche.
- SEARCH_TYPE: Optional: Der Typ der Exa-Suche, die ausgeführt werden soll. Unterstützte Werte sind
fastundinstant. Der Standardwert istfast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sieinstantfür Anwendungen, die eine möglichst geringe Latenz erfordern, z. B. Chat, Sprach-Agents und Autovervollständigung. Die Reaktionszeit wird minimiert, indem die Geschwindigkeit gegenüber der Suchtiefe priorisiert wird. - EXCLUDE_DOMAINS: Optional: Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Wenn angegeben, werden keine Ergebnisse aus diesen Domains zurückgegeben. Wenn Sie mehrere Domains ausschließen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - INCLUDE_DOMAINS: Optional: Liste der Domains, die in die Suche einbezogen werden sollen. Wenn angegeben, stammen die Ergebnisse nur aus diesen Domains. Wenn Sie mehr als eine Domain einbeziehen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - MAX_CHARACTERS: Optional: Maximale Anzahl der Zeichen, die für Highlights zurückgegeben werden sollen. Steuert die Gesamtlänge des Hervorhebungstexts, der pro URL zurückgegeben wird.
- NUM_RESULTS: Optional: Die maximale Anzahl von Suchergebnissen, die für die Fundierung verwendet werden sollen. Enthält standardmäßig den Wert
5, wenn nichts anderes angegeben ist.
import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.Tool;
import com.google.genai.types.ToolExaAiSearch;
import java.util.List;
import java.util.Map;
public class ExaGroundingSample {
public static void main(String[] args) {
try (Client client = Client.builder().build()) {
GenerateContentConfig config =
GenerateContentConfig.builder()
.tools(
Tool.builder()
.exaAiSearch(
ToolExaAiSearch.builder()
// Required. Your API key for Exa web search.
.apiKey("API_KEY")
// Optional. Customize the search. Click a
// placeholder to enter a value, or remove the
// entry to accept the default.
.customConfigs(
Map.of(
"type", "SEARCH_TYPE",
"excludeDomains",
List.of("EXCLUDE_DOMAINS"),
"includeDomains",
List.of("INCLUDE_DOMAINS"),
"contents",
Map.of(
"highlights",
Map.of(
"maxCharacters",
MAX_CHARACTERS)),
"numResults", NUM_RESULTS))
.build())
.build())
.build();
GenerateContentResponse response =
client.models.generateContent(
"MODEL_ID", "TEXT", config);
System.out.println(response.text());
// The grounding metadata contains the web sources used to ground the response.
System.out.println(
response.candidates().get().get(0).groundingMetadata().get().groundingChunks().get());
}
}
}
Node.js
Installieren
npm install @google/genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google Gen AI SDK mit Vertex AI festlegen:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Bevor Sie das Beispiel ausführen, ersetzen Sie die folgenden Werte:
- MODEL_ID: Die ID eines unterstützten Modells, das verwendet werden soll, z. B.
gemini-2.5-flash. - TEXT: Der Text-Prompt, der an das Modell gesendet werden soll.
- API_KEY: Ihr API-Schlüssel für die Exa-Websuche.
- SEARCH_TYPE: Optional: Der Typ der Exa-Suche, die ausgeführt werden soll. Unterstützte Werte sind
fastundinstant. Der Standardwert istfast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sieinstantfür Anwendungen, die eine möglichst geringe Latenz erfordern, z. B. Chat, Sprach-Agents und Autovervollständigung. Die Reaktionszeit wird minimiert, indem die Geschwindigkeit gegenüber der Suchtiefe priorisiert wird. - EXCLUDE_DOMAINS: Optional: Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Wenn angegeben, werden keine Ergebnisse aus diesen Domains zurückgegeben. Wenn Sie mehrere Domains ausschließen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - INCLUDE_DOMAINS: Optional: Liste der Domains, die in die Suche einbezogen werden sollen. Wenn angegeben, stammen die Ergebnisse nur aus diesen Domains. Wenn Sie mehr als eine Domain einbeziehen möchten, fügen Sie jede Domain als separaten String in Anführungszeichen in die Liste ein (z. B.
["example.com", "example.net"]). Sie können bis zu 1.200 Domains angeben. - MAX_CHARACTERS: Optional: Maximale Anzahl der Zeichen, die für Highlights zurückgegeben werden sollen. Steuert die Gesamtlänge des Hervorhebungstexts, der pro URL zurückgegeben wird.
- NUM_RESULTS: Optional: Die maximale Anzahl von Suchergebnissen, die für die Fundierung verwendet werden sollen. Enthält standardmäßig den Wert
5, wenn nichts anderes angegeben ist.
import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({});
const response = await ai.models.generateContent({
model: 'MODEL_ID',
contents: 'TEXT',
config: {
tools: [
{
exaAiSearch: {
// Required. Your API key for Exa web search.
apiKey: 'API_KEY',
// Optional. Customize the search. Click a placeholder to enter a
// value, or remove the line to accept the default.
customConfigs: {
type: 'SEARCH_TYPE',
excludeDomains: ['EXCLUDE_DOMAINS'],
includeDomains: ['INCLUDE_DOMAINS'],
contents: {
highlights: {
maxCharacters: MAX_CHARACTERS,
},
},
numResults: NUM_RESULTS,
},
},
},
],
},
});
console.log(response.text);
// The grounding metadata contains the web sources used to ground the response.
console.log(response.candidates[0].groundingMetadata.groundingChunks);
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll. Wenn Sie den globalen Endpunkt verwenden möchten, schließen Sie den Standort aus dem Endpunktnamen aus und konfigurieren Sie den Standort der Ressource auf „global“.
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- MODEL_ID: Die ID des Modells, das verwendet werden soll
- TEXT: Der Text-Prompt, der an das Modell gesendet werden soll.
- API_KEY: Ihr API-Schlüssel für die Exa-Websuche.
- SEARCH_TYPE: Optional: Der Typ der Exa-Suche, die ausgeführt werden soll. Unterstützte Werte sind
fastundinstant. Der Standardwert istfast. Diese Einstellung bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für nutzerorientierte Such- und interaktive Workflows. Verwenden Sieinstantfür Anwendungen, die eine möglichst geringe Latenz erfordern, z. B. Chat, Sprachassistenten und Autovervollständigung. Die Reaktionszeit wird minimiert, indem die Geschwindigkeit gegenüber der Suchtiefe priorisiert wird. - EXCLUDE_DOMAINS: Optional: Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Wenn angegeben, werden keine Ergebnisse aus diesen Domains zurückgegeben. Sie können bis zu 1.200 Domains angeben.
- INCLUDE_DOMAINS: Optional: Liste der Domains, die in die Suche einbezogen werden sollen. Wenn angegeben, stammen die Ergebnisse nur aus diesen Domains. Sie können bis zu 1.200 Domains angeben.
- MAX_CHARACTERS: Optional: Maximale Anzahl der Zeichen, die für Highlights zurückgegeben werden sollen. Steuert die Gesamtlänge des Hervorhebungstexts, der pro URL zurückgegeben wird.
- NUM_RESULTS: Optional: Die maximale Anzahl der Suchergebnisse, die für die Fundierung verwendet werden sollen. Enthält standardmäßig den Wert
5, wenn nichts anderes angegeben ist.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
JSON-Text anfordern:
{
"contents": [{
"role": "user",
"parts": [{
"text": "TEXT"
}]
}],
"tools": [{
"exaAiSearch": {
"api_key": "API_KEY",
"customConfigs": {
"type": "SEARCH_TYPE",
"excludeDomains": ["EXCLUDE_DOMAINS"],
"includeDomains": ["INCLUDE_DOMAINS"],
"contents": {
"highlights": {
"maxCharacters": MAX_CHARACTERS
}
},
"numResults": NUM_RESULTS
}
}
}],
"model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Kontingent
Das Standardkontingent beträgt 200 Prompts pro Minute. Wenn Sie Ihre Ratenlimits erhöhen möchten, wenden Sie sich mit Ihrem Anwendungsfall und Ihren Anforderungen an support@exa.ai und Ihr Google-Account-Team.
Abrechnung
Für die Verwendung der Fundierung mit Exa fallen die folgenden Gebühren an:
- Gemini-Tokenverbrauch: Prompt-Tokens, Thinking-Tokens, Ausgabe-Tokens. Weitere Informationen finden Sie unter Preise.
- Fundierung von Gemini auf Ihren Daten: Weitere Informationen finden Sie unter Preise.
- Preise für die Nutzung der Such-API von Exa: Weitere Informationen finden Sie auf der Preisseite von Exa.