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