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 großer Sprachmodelle optimiert sind. Auf dieser Seite wird erläutert, wie Sie Gemini-Antworten mit Exa fundieren.

Die Fundierung mit der Exa-Websuche auf der Gemini Enterprise Agent Platform ist ein separates Angebot (wie in Ihrer Cloud de Confiance by S3NS Vereinbarung definiert), das Gemini-Modelle mit öffentlichen Webdaten verbindet, die von der Such-API von Exa bereitgestellt werden.

Anwendungsfälle

Die Fundierung mit Exa verbessert die Genauigkeit und reduziert Halluzinationen, indem sie Modellen Zugriff auf aktuelle, relevante Webdaten ermöglicht. Zu den häufigsten Anwendungsfällen gehören:

  • Allgemeine Agents und Chatbots: Aktuelle Informationen abrufen, um zuverlässigere Antworten zu generieren.
  • Recherche-Agents: Umfassende Web-Recherchen in mehreren Quellen durchführen.
  • Coding-Agents: Aktuelle Code-Snippets, Dokumente und technische Referenzen abrufen.
  • Sprach-Agents: Webabruf zur Unterstützung von Sprachinteraktionen in Echtzeit mit geringer Latenz.
  • Branchenspezifische Agents: Aktuelle, domainspezifische Informationen abrufen, die auf eine bestimmte Branche oder einen bestimmten Wissensbereich zugeschnitten sind.
  • Datenanreicherung: Interne Datensätze mit aktuellem Webkontext und Metadaten ergänzen.
  • Automatisierte Workflows: Regelmäßig Nachrichten, Personen-, Unternehmens- oder andere häufig aktualisierte Daten für interne oder Produktions-Workflows erfassen.

Beispiel

Wer hat den Super Bowl 2026 gewonnen?

Ohne Fundierung Mit Fundierung
Ich kann Ihnen nicht sagen, wer den Super Bowl 2026 gewonnen hat, da dieses Ereignis noch nicht stattgefunden hat. Die Seattle Seahawks haben den Super Bowl LX am 8. Februar 2026 gewonnen und die New England Patriots mit einem Endergebnis von 29:13 besiegt. Quellen:domain1.com, domain2.com, ...

Unterstützte Modelle

In diesem Abschnitt sind die Modelle aufgeführt, die die Fundierung mit der Exa-Websuche unterstützen.

Klicken Sie, um die unterstützten Modelle zu maximieren.

Hinweis

Wenn Sie die Fundierung 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

Fordern Sie fundierte Antworten von Gemini an, indem Sie das Google Gen AI SDK oder die REST API verwenden. Für eine optimale Leistung empfehlen wir, die Standardeinstellungen für optionale Parameter zu verwenden, es sei denn, Sie benötigen unbedingt andere Werte.

Bevor Sie die Beispiele ausführen, müssen Sie die Voraussetzungen erfüllen, einschließlich des Abrufs eines Exa-API-Schlüssels.

Python

Installieren

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# 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

Ersetzen Sie vor dem Ausführen des Beispiels die folgenden Werte:

  • MODEL_ID: Die ID eines unterstützten Modells, 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. Dieser Wert liefert umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die für Nutzer sichtbare Suche und interaktive Workflows. Verwenden Sie instant für Anwendungen, die die geringste Latenz erfordern, z. B. Chat, Sprach-Agents und automatische Vervollständigung. Dadurch wird die Antwortzeit 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 mehr als eine Domain ausschließen möchten, fügen Sie jede Domain als separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 Highlight-Texts, der pro URL zurückgegeben wird.
  • NUM_RESULTS: Optional: Die maximale Anzahl der Suchergebnisse, die für die Fundierung verwendet werden sollen. Wenn nichts angegeben ist, wird standardmäßig 5 verwendet.

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.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# 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

Ersetzen Sie vor dem Ausführen des Beispiels die folgenden Werte:

  • MODEL_ID: Die ID eines unterstützten Modells, 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. Dieser Wert liefert umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die für Nutzer sichtbare Suche und interaktive Workflows. Verwenden Sie instant für Anwendungen, die die geringste Latenz erfordern, z. B. Chat, Sprach-Agents und automatische Vervollständigung. Dadurch wird die Antwortzeit 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 mehr als eine Domain ausschließen möchten, fügen Sie jede Domain als separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 Highlight-Texts, der pro URL zurückgegeben wird.
  • NUM_RESULTS: Optional: Die maximale Anzahl der Suchergebnisse, die für die Fundierung verwendet werden sollen. Wenn nichts angegeben ist, wird standardmäßig 5 verwendet.

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.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# 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

Ersetzen Sie vor dem Ausführen des Beispiels die folgenden Werte:

  • MODEL_ID: Die ID eines unterstützten Modells, 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. Dieser Wert liefert umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die für Nutzer sichtbare Suche und interaktive Workflows. Verwenden Sie instant für Anwendungen, die die geringste Latenz erfordern, z. B. Chat, Sprach-Agents und automatische Vervollständigung. Dadurch wird die Antwortzeit 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 mehr als eine Domain ausschließen möchten, fügen Sie jede Domain als separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 separate Zeichenfolge in Anführungszeichen in der Liste hinzu (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 Highlight-Texts, der pro URL zurückgegeben wird.
  • NUM_RESULTS: Optional: Die maximale Anzahl der Suchergebnisse, die für die Fundierung verwendet werden sollen. Wenn nichts angegeben ist, wird standardmäßig 5 verwendet.

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 folgende Werte in den 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 Cloud de Confiance by S3NS 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. Dieser Wert liefert umfassende Ergebnisse mit geringerer Latenz und eignet sich gut für die für Nutzer sichtbare Suche und interaktive Workflows. Verwenden Sie instant für Anwendungen, die die geringste Latenz erfordern, z. B. Chat, Sprach-Agents und automatische Vervollständigung. Dadurch wird die Antwortzeit minimiert, indem die Geschwindigkeit gegenüber der Suchtiefe priorisiert wird.
  • EXCLUDE_DOMAINS: Optional: Liste der Domains, die von 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 Highlight-Texts, der pro URL zurückgegeben wird.
  • NUM_RESULTS: Optional: Die maximale Anzahl der Suchergebnisse, die für die Fundierung verwendet werden sollen. Wenn nichts angegeben ist, wird standardmäßig 5 verwendet.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

JSON-Text der Anfrage:

{
  "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:

Quota

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-Kontoteam.

Abrechnung

Für die Verwendung der Fundierung mit Exa fallen die folgenden Gebühren an:

  • Gemini-Tokenverbrauch: Prompt-Tokens, Thinking-Tokens, Output-Tokens. Weitere Informationen finden Sie unter Preise.
  • Gemini-Fundierung mit Ihren Daten: Weitere Informationen finden Sie unter Preise.
  • Preise für die Verwendung der Such-API von Exa: Weitere Informationen finden Sie auf der Preisseite von Exa.