ツールは Gemini モデルの機能を拡張し、世界でのアクション、リアルタイム情報へのアクセス、複雑な計算タスクの実行を可能にします。モデルは、標準のリクエスト / レスポンスのやり取りと、Live API を使用したリアルタイム ストリーミング セッションの両方でツールを使用できます。
ツールは、モデルがクエリに回答するために使用できる特定の機能(Google 検索やコード実行など)です。Gemini API には、フルマネージドの組み込みツールが用意されています。また、関数呼び出しを使用してカスタムツールを定義することもできます。
マルチステップの目標指向システムを構築するには、エージェントの概要をご覧ください。
利用可能な組み込みツール
| ツール | 説明 | ユースケース |
|---|---|---|
| Google 検索 | ウェブ上の最新の出来事や事実に基づいて回答をグラウンディングすることで、ハルシネーションを抑制します。 | 最近の出来事に関する質問に回答し、さまざまなソースで事実を確認します。 |
| Google マップ | 場所の検索、ルートの取得、豊富なローカル コンテキストの提供が可能な位置認識アシスタントを構築します。 | 複数の立ち寄り先を含む旅行プランの作成、ユーザーの条件に基づくローカル ビジネスの検索。 |
| コード実行 | モデルが Python コードを記述して実行し、数学の問題を解決したり、データを正確に処理したりできるようにします。 | 複雑な数式を解く、テキストデータを正確に処理して分析する。 |
| URL コンテキスト | 特定のウェブページやドキュメントのコンテンツを読み取って分析するようモデルに指示します。 | 特定の URL やドキュメントに基づいて質問に回答し、さまざまなウェブページから情報を取得する。 |
| コンピュータの使用(プレビュー) | Gemini が画面を表示し、ウェブブラウザの UI を操作するアクションを生成できるようにします(クライアントサイドでの実行)。 | ウェブベースの反復的なワークフローの自動化、ウェブ アプリケーションのユーザー インターフェースのテスト。 |
| ファイル検索 | 独自のドキュメントをインデックス登録して検索し、検索拡張生成(RAG)を有効にします。 | 技術マニュアルの検索、独自データに関する質問への回答。 |
特定のツールに関連する費用の詳細については、料金ページをご覧ください。
ツールの実行の仕組み
ツールを使用すると、モデルは会話中にアクションをリクエストできます。フローは、ツールが組み込み(Google が管理)かカスタム(ユーザーが管理)かによって異なります。
組み込みツールのフロー
組み込みツール(Google 検索、Google マップ、URL コンテキスト、ファイル検索、コード実行)の場合、プロセス全体が 1 回の API 呼び出しで実行されます。
- ユーザーが「GOOG の最新の株価の平方根は?」というプロンプトを送信します。
- Gemini がツールが必要だと判断し、Google のサーバーでツールを実行します(株価を検索してから、Python コードを実行して平方根を計算するなど)。
- Gemini は、ツールの結果に基づいて最終的な回答を返します。
カスタムツール フロー(関数呼び出し)
カスタムツールとコンピュータ使用の場合、アプリケーションが実行を処理します。
- ユーザーが、関数(ツール)宣言とともにプロンプトを送信します。
- Gemini は、特定の関数(
{"name": "get_order_status", "args": {"order_id": "123"}}など)を呼び出すために、常に一意のidを含む構造化 JSON を返すことがあります。 - ユーザーがアプリケーションまたは環境で関数を実行します。
- ユーザーは、関数呼び出しと同じ
idを使用して、関数の結果を Gemini に送信します。 - Gemini は、結果を使用して最終的なレスポンスまたは別のツール呼び出しを生成します。
詳しくは、関数呼び出しガイドをご覧ください。
組み込みツールとカスタムツールのフローを組み合わせる
組み込みツールとカスタムツール(関数呼び出し)を組み合わせたリクエストの場合、モデルはツール コンテキストの循環を使用して、異なる環境間で実行を調整します。
- ユーザーは、プロンプトを送信し、有効にする組み込みツールとカスタム関数を宣言して、組み合わせサポートを有効にするフラグを設定します。
- Gemini は、組み込みツールを実行し、クライアントサイドの関数呼び出しが生成された場合はユーザーに譲ります(どちらが最初に実行されるかは、プロンプトとモデルの判断によって異なります)。次の内容を含むレスポンスが返されます。
- ツール呼び出しの確認
- ツール レスポンスの結果(モデルが 2 つの並列関数呼び出しを生成した場合、JSON の後に続くことがあります)
- 関数を呼び出す構造化された JSON
- コンテキストを保持するための暗号化された思考シグネチャ
- ユーザーがアプリケーションまたは環境で関数を実行します。
- ユーザーは、Gemini のレスポンスのすべての部分と、関数呼び出しの結果を返します。
- Gemini は、すべてのコンテキストを組み合わせて最終的な回答を生成します。
ツールの組み合わせガイドで、組み込みツールとカスタムツールの組み合わせのサポートを有効にする方法と、コンテキストの循環の例をご覧ください。
構造化出力と関数呼び出し
Gemini には、構造化された出力を生成する 2 つの方法があります。モデルが独自のツールやデータシステムに接続して中間ステップを実行する必要がある場合は、関数呼び出しを使用します。カスタム UI のレンダリングなど、モデルの最終レスポンスが特定のスキーマに厳密に準拠する必要がある場合は、構造化出力を使用します。
ツールを使用した構造化出力
構造化出力を組み込みツールと組み合わせることで、外部データや計算に基づくモデルの回答が厳格なスキーマに準拠するようにできます。
コード例については、ツールを使用した構造化出力をご覧ください。