このページでは、 コンソール Google Cloud 、REST API、サポートされている SDK を使用して、Gemini モデルにチャット プロンプトを送信する方法について説明します。
リクエストに画像やその他のメディアを追加する方法については、画像理解をご覧ください。
Gemini でサポートされている言語の一覧については、 言語サポートをご覧ください。
Gemini Enterprise Agent Platform で使用可能な生成 AI モデルと API を探索するには、 コンソール Google Cloud で Model Garden に移動します。
モバイルアプリやウェブアプリから Gemini を直接使用することをお考えの場合は、Swift、Android、ウェブ、Flutter、Unity アプリの Firebase AI Logic クライアント SDK をご覧ください。
テキストを生成する
チャット プロンプトのテストと反復処理には、 Google Cloud コンソールを使用することをおすすめします。プログラムでプロンプトをモデルに送信するには、REST API、Google Gen AI SDK、Agent Platform SDK、またはサポートされている他のライブラリや SDK のいずれかを使用します。
システム指示を使用すると、特定のニーズやユースケースに基づいてモデルの動作を制御できます。たとえば、カスタマー サービス リクエストに応答する chatbot のペルソナまたはロールを定義できます。詳細については、 システム指示のコードサンプルをご覧ください。
Google Gen AI SDK を使用してリクエストを送信できます。 使用しているモデルが Gemini 2.5 Flash の場合です。
テキスト生成の例を次に示します。
コンソール
Agent Studio を使用して Google Cloud コンソールでチャット プロンプトを送信するには、次の操作を行います。
- コンソールの [Agent Platform] セクションで、 Google Cloud [Agent Studio] ページに移動します。
Agent Studio に移動
- In [**会話を開始**] で [**テキスト チャット**] をクリックします。
省略可: モデルとパラメータを構成します。
- モデル: [Gemini Pro] を選択します。
- リージョン: 使用するリージョンを選択します。
温度: スライダーまたはテキスト ボックスを使用して、温度の値を入力します。
温度は、レスポンス生成時のサンプリングに使用されます。レスポンス生成は、topPとtopKが適用された場合に発生します。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が0の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。モデルが無限生成の状態に移行した場合は、温度を
0.1以上に引き上げると、結果が改善される可能性があります。1.0は、Temperature の推奨開始値です。出力トークンの上限: スライダーまたはテキスト ボックスを使用して、 最大出力の上限値を入力します。
レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
- 停止シーケンスを追加: 省略可。停止シーケンスを入力します。これはスペースを含む文字列です。モデルが停止シーケンスに遭遇すると、レスポンスの生成が停止します。停止シーケンスはレスポンスには含まれません。停止シーケンスは 5 つまで追加できます。
- 省略可: 詳細パラメータを構成するには、[詳細] をクリックして、次のように構成します。
クリックして詳細構成を開く
トップ K: スライダーまたはテキスト ボックスを使用して、トップ K の値を入力します。
トップ K は、モデルが出力用にトークンを選択する方法を変更します。Top-K が1の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。Top-K が3の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。トークン選択のそれぞれのステップで、最も高い確率を持つ Top-K のトークンがサンプリングされます。その後、トークンはトップ P に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。
ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。
- トップ P: スライダーまたはテキスト ボックスを使用して、トップ P の値を入力します。確率の合計がトップ P の値と等しくなるまで、最も確率が高いものから最も確率が低いものの順に、トークンが選択されます。結果を最小にするには、 Top-P を `0` に設定します。
- 根拠づけを有効にする: グラウンディング ソース とパス を追加して、この機能をカスタマイズします。
- [プロンプト] ペインにテキスト プロンプトを入力します。モデルは、以前のメッセージを新しいレスポンスのコンテキストとして使用します。
- 省略可: テキスト トークン数を表示するには、[トークンを表示] をクリックします。テキスト プロンプトのトークンまたはトークン ID を表示できます。
- テキスト プロンプト内のトークン(各トークン ID の境界が異なる色でハイライト表示されている)を表示するには、[Token ID to text] をクリックします。メディア トークンはサポートされていません。
- トークン ID を表示するには、[トークン ID] をクリックします。
トークン生成ツールペインを閉じるには、[X] をクリックするか、ペインの外側をクリックします。
- [送信] をクリックします。
- 省略可: プロンプトを [マイプロンプト] に保存するには、[ 保存] をクリックします。
- 省略可: プロンプトの Python コードまたは curl コマンドを取得するには、[コードを取得] をクリックします。
- 省略可: 以前のメッセージをすべて消去するには、 [Clear conversation] をクリックします。
Python
インストール
pip install --upgrade google-genai
詳しくは、 SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Go をインストールまたは更新する方法について学びます。
詳しくは、 SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
インストール
npm install @google/genai
詳しくは、 SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Java をインストールまたは更新する方法について学びます。
詳しくは、 SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
C#
C# をインストールまたは更新する方法について学びます。
詳しくは、 SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
リクエストのデータを使用する前に、次のように置き換えます。
GENERATE_RESPONSE_METHOD: モデルに生成させるレスポンスのタイプ。モデルのレスポンスを返す方法を生成するメソッドを選択します。streamGenerateContent: レスポンスは生成時にストリーミングされます。ユーザーが遅延を感じることは少なくなります。generateContent: レスポンスは、完全に生成された後に返されます。
LOCATION: リクエストを処理するリージョン。PROJECT_ID: 実際のプロジェクト ID。 .MODEL_ID: 使用するマルチモーダル モデルのモデル ID。 マルチターンの会話の最初のプロンプトに含める指示のテキスト 。例:TEXT1
What are all the colors in a rainbow? プロンプトに含める指示のテキスト。例:TEXT2
Why does it appear when it rains?TEMPERATURE: 温度は、topPとtopKが適用された場合に発生するレスポンス生成時のサンプリングに使用されます。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が0の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。モデルが無限生成の状態に移行した場合は、温度を
0.1以上に引き上げると、結果が改善される可能性があります。1.0は、Temperature の推奨開始値です。
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF'
{
"contents": [
{
"role": "user",
"parts": { "text": "TEXT1" }
},
{
"role": "model",
"parts": { "text": "What a great question!" }
},
{
"role": "user",
"parts": { "text": "TEXT2" }
}
],
"generation_config": {
"temperature": TEMPERATURE
}
}
EOFその後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD"
PowerShell
リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@'
{
"contents": [
{
"role": "user",
"parts": { "text": "TEXT1" }
},
{
"role": "model",
"parts": { "text": "What a great question!" }
},
{
"role": "user",
"parts": { "text": "TEXT2" }
}
],
"generation_config": {
"temperature": TEMPERATURE
}
}
'@ | Out-File -FilePath request.json -Encoding utf8その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
ストリーミング レスポンスと非ストリーミング レスポンス
モデルがストリーミング レスポンスを生成するのか、非ストリーミング レスポンスを生成するのかについては、選択が可能です。ストリーミング レスポンスの場合、出力トークンが生成されるとすぐに各レスポンスが返されます。非ストリーミング レスポンスの場合、すべての出力トークンが生成された後にすべてのレスポンスが返されます。
ストリーミング テキスト生成の例を次に示します。
Python
このサンプルを試す前に、クライアント ライブラリを使用したPython Agent Platform クイックスタートの手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Gemini のマルチターン チャットの動作
マルチターンのチャットを使用すると、Gemini Enterprise Agent Platform はモデルに送信した最初のコンテンツとプロンプトをローカルに保存します。Gemini Enterprise Agent Platform は、後続の各リクエストとともに、このデータをすべてモデルに送信します。そのため、送信する各メッセージの入力費用は、モデルにすでに送信されたすべてのデータの実行合計になります。初期コンテンツが十分に大きい場合は、初期モデル オブジェクトを作成するときにコンテキスト キャッシュ保存を使用して、入力費用をより適切に管理することを検討してください。
次のステップ
- マルチモーダル プロンプト リクエストの送信方法を学習する。
- 責任ある AI のベスト プラクティスと Agent Platform の安全フィルタについて学習する。