Gemini API 程式碼執行功能可讓模型產生及執行 Python 程式碼,並從結果中逐步學習,直到產生最終輸出結果為止。您可以使用這項程式碼執行功能,建構可從程式碼推理中受益,並產生文字輸出的應用程式。舉例來說,您可以在解決方程式或處理文字的應用程式中使用程式碼執行功能。
AI Studio 和 Gemini API 都支援程式碼執行作業。在 AI Studio 中,您可以在右側面板的「工具」下方啟用程式碼執行功能。Gemini API 提供程式碼執行工具,類似於函式呼叫。將程式碼執行作業新增為工具後,模型會決定何時使用該工具。
程式碼執行環境包含下列程式庫:altair
、chess
、cv2
、matplotlib
、mpmath
、numpy
、pandas
、pdfminer
、reportlab
、seaborn
、sklearn
、statsmodels
、striprtf
、sympy
和 tabulate
。您無法安裝自己的程式庫。
開始執行程式碼
本節假設您已完成快速入門中顯示的設定步驟。
輸入/輸出 (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 萬個符記 (支援的輸入類型文字檔約為 2 MB)。如果上傳的檔案過大,AI Studio 就不會讓您傳送。
單輪 | 雙向 (Multimodal 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 回應中加入中繼符號計數,讓您瞭解為何除了初始提示之外,還會收到其他輸入符號。
限制
- 模型只能產生及執行程式碼。但無法傳回其他構件,例如媒體檔案。
- 在某些情況下,啟用程式碼執行功能可能會導致模型輸出內容的其他部分 (例如撰寫故事) 出現回歸現象。
- 不同模型使用程式碼執行功能的能力有所差異。