工具可擴展 Gemini 模型的效能,讓模型在現實世界中採取行動、存取即時資訊,以及執行複雜的運算工作。模型可在標準要求-回應互動,以及使用 Live API 的即時串流工作階段中,使用工具。
工具是模型可用來回答查詢的特定功能 (例如 Google 搜尋或執行程式碼)。Gemini API 提供全套全方位管理式內建工具,您也可以使用函式呼叫定義自訂工具。
如要建構多步驟、目標導向的系統,請參閱「代理總覽」。
可用的內建工具
| 工具 | 說明 | 應用實例 |
|---|---|---|
| Google 搜尋 | 根據網路上的時事和事實生成回覆,減少幻覺。 | 回答近期事件相關問題,並透過多種來源驗證事實。 |
| Google 地圖 | 建構位置辨識助理,可尋找地點、規劃路線及提供豐富的當地特色。 | 規劃有多個停靠點的旅遊行程,並根據使用者條件尋找當地商家。 |
| 執行程式碼 | 允許模型編寫及執行 Python 程式碼,解決數學問題或準確處理資料。 | 解出複雜的數學方程式,精確處理及分析文字資料。 |
| 網址背景資訊 | 引導模型讀取及分析特定網頁或文件的內容。 | 根據特定網址或文件回答問題,從不同網頁擷取資訊。 |
| 電腦使用 (預先發布版) | 啟用 Gemini 即可查看畫面,並生成動作與網路瀏覽器 UI 互動 (用戶端執行)。 | 自動執行重複的網頁式工作流程,測試網頁應用程式使用者介面。 |
| 檔案搜尋 | 為自己的文件建立索引並進行搜尋,啟用檢索增強生成 (RAG)。 | 搜尋技術手冊、根據專有資料回答問題。 |
如要瞭解特定工具的相關費用,請參閱定價頁面。
工具執行的運作方式
模型可在對話期間透過工具要求執行動作。流程會因工具是內建 (由 Google 管理) 還是自訂 (由您管理) 而有所不同。
內建工具流程
如果是內建工具 (Google 搜尋、Google 地圖、網址背景資訊、檔案搜尋、執行程式碼),整個程序會在一次 API 呼叫中完成:
- 你傳送提示:「GOOG 最新股價的平方根是多少?」
- Gemini 判斷需要工具,並在 Google 伺服器上執行工具 (例如搜尋股價,然後執行 Python 程式碼來計算平方根)。
- Gemini 根據工具結果,傳回最終答案。
自訂工具流程 (函式呼叫)
如果是自訂工具和 Computer Use,應用程式會處理執行作業:
- 您會連同函式 (工具) 宣告傳送提示。
- Gemini 可能會傳回結構化 JSON,呼叫特定函式 (例如
{"name": "get_order_status", "args": {"order_id": "123"}}),且一律會附上專屬的id。 - 您在應用程式或環境中執行函式。
- 您會將函式結果連同函式呼叫的
id一併傳回給 Gemini。 - Gemini 會根據結果生成最終回覆,或呼叫其他工具。
詳情請參閱函式呼叫指南。
結合內建和自訂工具的流程
如果要求結合了內建工具和自訂工具 (函式呼叫),模型會使用工具情境循環,協調不同環境的執行作業:
- 您傳送提示,並宣告要啟用的內建工具和自訂函式,然後設定旗標來啟用組合支援。
- Gemini 會執行內建工具,並在產生任何用戶端函式呼叫時將控制權交給使用者 (執行順序取決於提示和模型判斷)。並傳回含有下列內容的回覆:
- 確認工具呼叫
- 工具回應的結果 (如果模型生成兩個平行函式呼叫,這可能會在 JSON 之後)
- 呼叫函式的結構化 JSON
- 加密想法簽名,保留脈絡
- 您在應用程式或環境中執行函式。
- 您會傳回 Gemini 回覆的所有部分,以及函式呼叫結果。
- Gemini 會使用所有合併的脈絡資訊生成最終回覆。
請參閱工具組合指南,瞭解如何啟用內建和自訂工具組合的支援功能,以及內容循環的範例。
結構化輸出與函式呼叫
Gemini 提供兩種生成結構化輸出的方法。當模型需要連線至您自己的工具或資料系統,執行中繼步驟時,請使用函式呼叫。如果需要模型最終回覆嚴格遵循特定結構定義 (例如轉譯自訂 UI),請使用結構化輸出。
使用工具產生結構化輸出內容
您可以結合結構化輸出與內建工具,確保模型回覆內容以外部資料或運算結果為依據,同時遵守嚴格的結構定義。
如需程式碼範例,請參閱「使用工具產生結構化輸出內容」。