程式碼執行

Gemini API 程式碼執行功能可讓模型產生並執行 Python 程式碼,並從結果反覆學習,直到最終輸出完畢為止。您可以使用此程式碼執行功能建構應用程式,讓應用程式受益於程式碼式推理及產生文字輸出。舉例來說,您可以在回答方程式或處理文字的應用程式中使用程式碼執行功能。

AI Studio 和 Gemini API 都能執行程式碼。在 AI Studio 的右側面板中,您可以在「Tools」下方啟用程式碼執行功能。Gemini API 會以工具的形式執行程式碼,與函式呼叫類似。當您將程式碼執行作業新增為工具後,模型就會決定何時使用。

程式碼執行環境包含以下函式庫:altairchesscv2matplotlibmpmathnumpypandaspdfminerreportlabseabornsklearnstatsmodelsstriprtfsympytabulate。您無法安裝自己的程式庫。

事前準備

呼叫 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 回應中會附上中繼權杖數量,讓您知道除了初始提示以外,還會收到其他輸入權杖。

限制

  • 模型只能產生及執行程式碼。因此無法傳回媒體檔案等其他構件
  • 在某些情況下,啟用程式碼執行功能可能會導致模型輸出的其他區域發生迴歸問題 (例如撰寫故事)。
  • 不同模型在能力上有些差異,無法成功執行程式碼。