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 モデルに基づいて、入力トークンと出力トークンの現在のレートで課金されます。
コード実行の課金について、その他の注意事項は次のとおりです。
- モデルに渡す入力トークンは 1 回だけ課金され、モデルから返された最終出力トークンは課金されます。
- 生成されたコードを表すトークンは、出力トークンとしてカウントされます。生成されたコードには、テキストや画像などのマルチモーダル出力を含めることができます。
- コード実行結果も出力トークンとしてカウントされます。
- 使用している Gemini モデルに基づいて、入力トークンと出力トークンの現在のレートで課金されます。
- Gemini がレスポンスの生成時にコード実行を使用する場合、元のプロンプト、生成されたコード、実行されたコードの結果には「中間トークン」というラベルが付けられ、「入力トークン」として課金されます。
- その後、Gemini は概要を生成し、生成されたコード、実行されたコードの結果、最終的な概要を返します。これらは出力トークンとして課金されます。
- Gemini API の API レスポンスには中間トークン数が含まれるため、最初のプロンプトを超えて追加の入力トークンが返される理由を把握できます。
制限事項
- モデルはコードの生成と実行のみを行います。メディア ファイルなどの他のアーティファクトを返すことはできません。
- コード実行を有効にすると、モデル出力の他の領域(ストーリーの作成など)で回帰が発生することがあります。
- コード実行を正常に使用できるモデルの能力には、若干のばらつきがあります。