以 Exa 網頁搜尋建立基準

Exa 提供搜尋 API,可存取公開網路資料,並針對建立大型語言模型回覆的基準進行最佳化。本頁說明如何使用 Exa,讓 Gemini 回覆內容有根據。

Gemini Enterprise Agent Platform 的 Exa 網頁搜尋建立基準功能屬於獨立產品 (定義請見 Cloud de Confiance by S3NS 協議),可將 Gemini 模型連結至 Exa 搜尋 API 提供的公開網路資料。

用途

使用 Exa 建立基準,可讓模型存取最新、相關的網路資料,進而提高準確度並減少幻覺。常見用途包括:

  • 一般代理和聊天機器人:檢索最新資訊,提供更可靠的回覆。
  • 研究代理:深入研究多個來源的深層網站內容。
  • 程式設計代理:提取最新程式碼片段、文件和技術參考資料。
  • 語音代理:支援即時低延遲語音互動的網路檢索功能。
  • 特定產業代理:擷取特定產業或知識領域的最新資訊。
  • 資料充實:使用目前的網路環境和中繼資料擴充內部資料集。
  • 自動化工作流程:定期收集新聞、人物、公司或其他經常更新的資料,用於內部或製作工作流程。

範例

2026 年超級盃冠軍是誰?

不執行基準比對 建立基準
2026 年超級盃尚未舉行,因此我無法告訴你誰是贏家。 西雅圖海鷹隊在 2026 年 2 月 8 日贏得第 60 屆超級盃,以 29 比 13 的比分擊敗新英格蘭愛國者隊。 來源:domain1.com、domain2.com 等

支援的模型

本節列出支援以 Exa 網頁搜尋建立基準的模型。

按一下即可展開支援的模型

事前準備

如要使用 Exa 建立基準,請前往 Exa 網站取得 API 金鑰。這個 API 金鑰會用於向 Gemini 提出的要求。

讓 Gemini 回覆奠基於 Exa

使用 Google Gen AI SDK 或 REST API,要求 Gemini 提供有依據的回覆。為獲得最佳成效,除非您確實需要非預設值,否則建議您使用選用參數的預設設定。

執行範例前,請先完成必要條件,包括取得 Exa API 金鑰。

Python

安裝

pip install --upgrade google-genai

詳情請參閱 SDK 參考文件。

設定環境變數,以便透過 Vertex AI 使用 Google Gen AI SDK:

# 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

執行範例前,請先修改下列項目的值:

  • MODEL_ID:要使用的支援模型 ID,例如 gemini-2.5-flash。
  • TEXT:要傳送至模型的文字提示詞。
  • API_KEY:Exa 網頁搜尋的 API 金鑰。
  • SEARCH_TYPE:選用。要執行的 Exa 搜尋類型。支援的值為 fast 和 instant。預設值為 fast,可提供完整的結果,同時縮短延遲時間,適合用於面向使用者的搜尋和互動式工作流程。如需最低延遲時間,例如即時通訊、語音代理和自動完成,請使用 instant。這項功能會優先考量速度而非搜尋瀏覽頁數,盡可能縮短回應時間。
  • EXCLUDE_DOMAINS:選用:要從搜尋結果中排除的網域清單。如果指定,系統就不會傳回這些網域的結果。如要排除多個網域,請在清單中以個別的引號字串新增每個網域 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • INCLUDE_DOMAINS:選用:要納入搜尋範圍的網域清單。如果指定,結果只會來自這些網域。如要加入多個網域,請在清單中將每個網域新增為獨立的引號字串 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • MAX_CHARACTERS:選用:要傳回的精華片段字元數上限。控制每個網址傳回的醒目顯示文字總長度。
  • NUM_RESULTS:選用:用於基礎的搜尋結果數量上限。如未指定,則會預設為 5。

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

瞭解如何安裝或更新 Java。

詳情請參閱 SDK 參考文件。

設定環境變數,以便透過 Vertex AI 使用 Google Gen AI SDK:

# 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

執行範例前,請先修改下列項目的值:

  • MODEL_ID:要使用的支援模型 ID,例如 gemini-2.5-flash。
  • TEXT:要傳送至模型的文字提示詞。
  • API_KEY:Exa 網頁搜尋的 API 金鑰。
  • SEARCH_TYPE:選用。要執行的 Exa 搜尋類型。支援的值為 fast 和 instant。預設值為 fast,可提供完整的結果,同時縮短延遲時間,適合用於面向使用者的搜尋和互動式工作流程。如需最低延遲時間,例如即時通訊、語音代理和自動完成,請使用 instant。這項功能會優先考量速度而非搜尋瀏覽頁數,盡可能縮短回應時間。
  • EXCLUDE_DOMAINS:選用:要從搜尋結果中排除的網域清單。如果指定,系統就不會傳回這些網域的結果。如要排除多個網域,請在清單中以個別的引號字串新增每個網域 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • INCLUDE_DOMAINS:選用:要納入搜尋範圍的網域清單。如果指定,結果只會來自這些網域。如要加入多個網域,請在清單中將每個網域新增為獨立的引號字串 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • MAX_CHARACTERS:選用:要傳回的精華片段字元數上限。控制每個網址傳回的醒目顯示文字總長度。
  • NUM_RESULTS:選用:用於基礎的搜尋結果數量上限。如未指定,則會預設為 5。

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

安裝

npm install @google/genai

詳情請參閱 SDK 參考文件。

設定環境變數,透過 Vertex AI 使用 Google Gen AI SDK:

# 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

執行範例前,請先修改下列項目的值:

  • MODEL_ID:要使用的支援模型 ID,例如 gemini-2.5-flash。
  • TEXT:要傳送至模型的文字提示詞。
  • API_KEY:Exa 網頁搜尋的 API 金鑰。
  • SEARCH_TYPE:選用。要執行的 Exa 搜尋類型。支援的值為 fast 和 instant。預設值為 fast,可提供完整的結果,同時縮短延遲時間,適合用於面向使用者的搜尋和互動式工作流程。如需最低延遲時間,例如即時通訊、語音代理和自動完成,請使用 instant。這項功能會優先考量速度而非搜尋瀏覽頁數,盡可能縮短回應時間。
  • EXCLUDE_DOMAINS:選用:要從搜尋結果中排除的網域清單。如果指定,系統就不會傳回這些網域的結果。如要排除多個網域,請在清單中以個別的引號字串新增每個網域 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • INCLUDE_DOMAINS:選用:要納入搜尋範圍的網域清單。如果指定,結果只會來自這些網域。如要加入多個網域,請在清單中將每個網域新增為獨立的引號字串 (例如 ["example.com", "example.net"])。您最多可以指定 1200 個網域。
  • MAX_CHARACTERS:選用:要傳回的精華片段字元數上限。控制每個網址傳回的醒目顯示文字總長度。
  • NUM_RESULTS::選用。用於建立基準的搜尋 結果數量上限。如未指定,則會預設為 5。

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

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION:處理要求的區域。如要使用全域端點,請從端點名稱中排除位置,並將資源位置設為 `global`。
  • PROJECT_ID: Cloud de Confiance by S3NS 專案 ID。
  • MODEL_ID:要使用的模型 ID。
  • TEXT:要傳送至模型的文字提示詞。
  • API_KEY:Exa 網頁搜尋的 API 金鑰。
  • SEARCH_TYPE:選用。要執行的 Exa 搜尋類型。支援的值為 fast 和 instant。預設值為 fast,可提供完整的結果並縮短延遲時間,適合面向使用者的搜尋和互動式工作流程。如需最低延遲時間,例如聊天、語音代理和自動完成,請使用 instant。這項功能會優先考量速度,而非搜尋瀏覽頁數,盡可能縮短回應時間。
  • EXCLUDE_DOMAINS:選用。要從搜尋結果中排除的網域清單。如果指定,系統就不會傳回這些網域的結果。 最多可以指定 1,200 個網域。
  • INCLUDE_DOMAINS:選用。要納入搜尋的網域清單。如果指定,結果只會來自這些網域。 最多可指定 1200 個網域。
  • MAX_CHARACTERS:選用:要傳回的重點字元數上限。控制每個網址傳回的醒目顯示文字總長度。
  • NUM_RESULTS:選用:用於基礎的搜尋結果數量上限。如未指定,則會預設為 5。

HTTP 方法和網址:

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

JSON 要求主體:

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

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆。

配額

預設配額為每分鐘 200 個提示。如需提高頻率限制,請與 support@exa.ai 和 Google 帳戶團隊聯絡,並說明用途和需求。

帳單

使用 Exa 建立基準會產生下列費用:

  • Gemini 詞元用量:提示詞元、思考詞元、輸出詞元。詳情請參閱「定價」。
  • Gemini 根據您的資料提供資訊:詳情請參閱「定價」。
  • 使用 Exa 搜尋 API 的定價:詳情請參閱 Exa 的定價頁面。