Fundierung mit der Exa-Websuche

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 fast und instant. Der Standardwert ist fast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sie instant fü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 fast und instant. Der Standardwert ist fast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sie instant fü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 fast und instant. Der Standardwert ist fast. Diese Option bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die nutzerorientierte Suche und interaktive Workflows. Verwenden Sie instant fü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 fast und instant. Der Standardwert ist fast. Diese Einstellung bietet umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für nutzerorientierte Such- und interaktive Workflows. Verwenden Sie instant fü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.