Gemini API 程式碼執行功能可讓模型產生並執行 Python 程式碼,並從結果反覆學習,直到最終輸出完畢為止。您可以使用此程式碼執行功能建構應用程式,讓應用程式受益於程式碼式推理及產生文字輸出。舉例來說,您可以在回答方程式或處理文字的應用程式中使用程式碼執行功能。
AI Studio 和 Gemini API 都能執行程式碼。在 AI Studio 的右側面板中,您可以在「Tools」下方啟用程式碼執行功能。Gemini API 會以工具的形式執行程式碼,與函式呼叫類似。當您將程式碼執行作業新增為工具後,模型就會決定何時使用。
程式碼執行環境包含以下函式庫:altair
、chess
、cv2
、matplotlib
、mpmath
、numpy
、pandas
、pdfminer
、reportlab
、seaborn
、sklearn
、statsmodels
、striprtf
、sympy
與 tabulate
。您無法安裝自己的程式庫。
事前準備
呼叫 Gemini API 前,請確認您已安裝所選 SDK,並設定 Gemini API 金鑰,以便使用。
開始執行程式碼
輸入/輸出 (I/O)
自 Gemini 2.0 Flash 起,程式碼執行功能支援檔案輸入和圖形輸出。您可以使用這些新的輸入和輸出功能,上傳 CSV 和文字檔案、提出檔案相關問題,並在回應中產生 Matplotlib 圖形。
I/O 定價
使用程式碼執行 I/O 時,系統會向您收取輸入符記和輸出符記的費用:
輸入符記:
- 使用者提示
輸出符記:
- 模型產生的程式碼
- 程式碼環境中的程式碼執行輸出內容
- 模型產生的摘要
I/O 詳細資料
使用程式碼執行 I/O 時,請注意下列技術細節:
- 程式碼環境的執行階段時間上限為 30 秒。
- 如果程式碼環境產生錯誤,模型可能會決定重新產生程式碼輸出內容。最多可能發生這種情況 5 次。
- 檔案輸入大小上限受到模型權杖期限的限制,在 AI Studio 中使用 Gemini Flash 2.0 時,輸入檔案大小上限為 100 萬個符記 (文字檔支援的輸入類型約為 2MB)。如果上傳過大的檔案,AI Studio 不會允許您傳送。
單輪 | 雙向 (多模態 Live API) | |
---|---|---|
支援的型號 | 所有 Gemini 2.0 模型 | 僅限 Flash 實驗性模型 |
支援的檔案輸入類型 | .png、.jpeg、.csv、.xml、.cpp、.java、.py、.js、.ts | .png、.jpeg、.csv、.xml、.cpp、.java、.py、.js、.ts |
支援繪圖程式庫 | Matplotlib | Matplotlib |
多工具使用 | 否 | 是 |
帳單
透過 Gemini API 執行程式碼不會產生額外費用。系統會按照您目前使用的 Gemini 模型,按目前輸入和輸出符記的費率收費。
以下是程式碼執行費用的其他注意事項:
- 您只需為傳遞至模型的輸入權杖支付一次費用,系統也會針對模型傳回給您的最終輸出權杖向您收費。
- 系統會將代表產生的代碼的權杖計為輸出權杖。產生的程式碼可包含文字和多模態輸出內容 (例如圖片)。
- 程式碼執行結果也會計為輸出符記。
計費模式如下圖所示:
- 系統會按照您目前使用的 Gemini 模型,按輸入和輸出符記目前的費率收費。
- 如果 Gemini 在產生回覆時使用程式碼執行功能,原始提示、產生的程式碼和執行後的程式碼都會標示為「中繼權杖」,並做為「輸入符記」計費。
- 接著,Gemini 會產生摘要,並傳回產生的程式碼、執行程式碼的結果,以及最終的摘要。這些費用是以「輸出權杖」計費。
- Gemini API 的 API 回應中會附上中繼權杖數量,讓您知道除了初始提示以外,還會收到其他輸入權杖。
限制
- 模型只能產生及執行程式碼。因此無法傳回媒體檔案等其他構件
- 在某些情況下,啟用程式碼執行功能可能會導致模型輸出的其他區域發生迴歸問題 (例如撰寫故事)。
- 不同模型在能力上有些差異,無法成功執行程式碼。