Exa 提供搜尋 API,可存取公開網路資料,並針對大型語言模型回覆建立基準。本頁說明如何使用 Exa 建立 Gemini 回覆的基準。
Gemini Enterprise Agent Platform 的「使用 Exa 網頁搜尋建立基準」功能屬於獨立產品 (定義請見 Google Cloud 協議),可將 Gemini 模型連結至 Exa 搜尋 API 提供的公開網路資料。
用途
使用 Exa 建立基準,可讓模型存取最新、相關的網路資料,進而提高準確度並減少幻覺。常見用途包括:
- 一般代理和聊天機器人:檢索最新資訊,提供更可靠的答案。
- 研究代理:對多個來源進行深入的深層網站研究。
- 程式設計代理:提取最新程式碼片段、文件和技術參考資料。
- 語音代理:網路檢索功能,可支援即時、低延遲的語音互動。
- 特定產業代理:擷取特定產業或知識領域的最新資訊。
- 資料充實:使用最新的網路背景資訊和中繼資料,擴充內部資料集。
- 自動化工作流程:定期收集新聞、人物、公司或其他經常更新的資料,用於內部或正式環境工作流程。
範例
2026 年超級盃冠軍是誰?
| 不執行基準比對 | 使用基準 |
|---|---|
| 2026 年超級盃尚未舉行,因此我無法告訴你誰是贏家。 | 西雅圖海鷹隊在 2026 年 2 月 8 日贏得第 60 屆超級盃,以 29 比 13 的比分擊敗新英格蘭愛國者隊。 來源:domain1.com、domain2.com 等 |
支援的模型
本節列出支援以 Exa 網頁搜尋建立基準的模型。
按一下即可展開支援的模型
事前準備
如要使用 Exa 建立基準,您必須前往 Exa 網站取得 API 金鑰。向 Gemini 提出要求時,會使用這個 API 金鑰。
使用 Exa 驗證 Gemini 回覆
使用 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"])。您最多可以指定 1,200 個網域。 - 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
詳情請參閱 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"])。您最多可以指定 1,200 個網域。 - 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"])。您最多可以指定 1,200 個網域。 - 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: Google Cloud 專案 ID。
- MODEL_ID:要使用的模型 ID。
- TEXT:要傳送至模型的文字提示詞。
- API_KEY:Exa 網頁搜尋的 API 金鑰。
- SEARCH_TYPE:選用。要執行的 Exa 搜尋類型。支援的值為
fast和instant。預設值為fast,可提供完整的結果,同時縮短延遲時間,適合面向使用者的搜尋和互動式工作流程。如需最低延遲時間的體驗 (例如聊天、語音代理和自動完成),請使用instant。這項功能會優先考量速度而非搜尋深度,盡可能縮短回應時間。 - EXCLUDE_DOMAINS:選用。要從搜尋結果中排除的網域清單。如果指定,系統就不會傳回這些網域的結果。 最多可以指定 1,200 個網域。
- INCLUDE_DOMAINS:選用。要納入搜尋的網域清單。如果指定,結果只會來自這些網域。 最多可以指定 1,200 個網域。
- 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 的定價頁面。