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 建立基準會產生下列費用: