generateContent
または streamGenerateContent
を使用して、Gemini でコンテンツを生成します。
Gemini モデル ファミリーには、マルチモーダル プロンプト リクエストに対応するモデルが含まれています。マルチモーダルとは、プロンプトで複数のモダリティ(入力タイプ)を使用できることを示します。マルチモーダルではないモデルは、テキストのみのプロンプトを受け入れます。モダリティには、テキスト、音声、動画などがあります。
Google Cloud アカウントを作成して開始する
Vertex AI API for Gemini の使用を開始するには、Google Cloud アカウントを作成します。
アカウントを作成したら、このドキュメントを使用して、Gemini モデルのリクエスト本文、モデル パラメータ、レスポンスの本文、リクエストのサンプルを確認してください。
準備ができたら、Vertex AI API for Gemini クイックスタートで、プログラミング言語 SDK または REST API を使用して Vertex AI Gemini API にリクエストを送信する方法をご覧ください。
サポートされているモデル
モデル | バージョン |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 gemini-1.5-flash-002 |
Gemini 1.5 Pro | gemini-1.5-pro-001 gemini-1.5-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
構文の例
モデルのレスポンスを生成するための構文。
非ストリーミング
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
ストリーミング
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
パラメータ リスト
実装の詳細については、例をご覧ください。
リクエスト本文
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer } } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean }, "labels": { string: string } }
リクエスト本文には、データと次のパラメータが含まれます。
パラメータ | |
---|---|
|
省略可: キャッシュに保存されたコンテンツ。キャッシュに保存されたコンテンツは、繰り返されるコンテンツを含むリクエストで使用できます。 |
|
必須: モデルとの現在の会話の内容。 シングルターンのクエリの場合、これは単一のインスタンスです。マルチターン クエリの場合、これは会話履歴と最新のリクエストを含む繰り返しフィールドです。 |
|
省略可:
モデルのパフォーマンスを向上させるための指示。たとえば、「できるだけ簡潔に答えて」、「専門用語は使用しない」などです。
|
|
省略可。システムが外部システムと対話して、モデルの知識や範囲外のアクションまたは一連のアクションを実行できるようにするコード。関数呼び出しをご覧ください。 |
|
省略可。関数呼び出しをご覧ください。 |
|
省略可: 安全でないコンテンツをブロックするためのリクエストごとの設定。
|
|
省略可: 生成構成の設定。 |
|
省略可: Key-Value ペアの形式で API 呼び出しに追加できるメタデータ。 |
contents
メッセージのマルチパート コンテンツを含む基本的な構造化データ型。
このクラスは、role
と parts
という 2 つの主要なプロパティで構成されています。role
プロパティはコンテンツを生成している個人を表し、parts
プロパティには複数の要素が含まれます。各要素はメッセージ内のデータ セグメントを表します。
パラメータ | |
---|---|
|
省略可: メッセージを作成するエンティティの ID。次の値を使用できます。
マルチターンではない会話の場合、このフィールドは空白のままにするか、未設定のままにできます。 |
|
1 つのメッセージを構成する順序付きのパーツのリスト。パーツによって IANA MIME タイプが異なる場合があります。 トークンの最大数や画像の数など、入力に関する制限については、Google モデルのページでモデルの仕様をご覧ください。 リクエスト内のトークンの数を計算するには、トークン数を取得するをご覧ください。 |
parts
マルチパート Content
メッセージの一部であるメディアを含むデータ型。
パラメータ | |
---|---|
|
省略可: テキスト プロンプトまたはコード スニペット。 |
|
省略可: 元のバイトのインライン データ。
|
|
省略可: ファイルに保存されたデータ。 |
|
省略可:
関数呼び出しをご覧ください。 |
|
省略可:
関数呼び出しをご覧ください。 |
|
省略可: 動画入力の場合、動画の開始と終了のオフセットは Duration 形式で指定します。たとえば、1:00 から 10 秒間のクリップを指定するには、 メタデータは、動画データが |
blob
コンテンツ blob。可能であれば、元のバイトではなくテキストとして送信します。
パラメータ | |
---|---|
|
data または fileUri フィールドで指定されたファイルのメディアタイプ。有効な値は次のとおりです。
クリックして MIME タイプを開く
Gemini 1.5 Pro と Gemini 1.5 Flash の場合、音声ファイルの最大長は 8.4 時間、動画ファイル(音声なし)の最大長は 1 時間です。詳細については、Gemini 1.5 Pro のメディアの要件をご覧ください。 テキスト ファイルは UTF-8 でエンコードされていなければなりません。テキスト ファイルの内容は、トークンの上限に計上されます。 画像の解像度に上限はありません。 |
|
プロンプトにインラインで含める画像、PDF、または動画の base64 エンコード。メディアをインラインで含める場合は、データのメディアタイプ( サイズの上限: 20 MB。 |
CachedContent
期限切れになったコンテキスト キャッシュを更新するために使用されます。CachedContent
を更新する場合は ttl
または expireTime
を指定する必要がありますが、両方を指定することはできません。詳細については、コンテキスト キャッシュを使用するをご覧ください。
パラメータ | |
---|---|
|
コンテキスト キャッシュが作成または更新されてから期限切れになるまでの時間を秒単位およびナノ秒単位で指定するために使用します。 |
|
コンテキスト キャッシュの有効期限を表すタイムスタンプ。 |
TTL
コンテキスト キャッシュが作成または更新されてから期限切れになるまでの存続期間。
パラメータ | |
---|---|
|
コンテキスト キャッシュが作成されてから期限切れになるまでの期間の秒部分。デフォルト値は 3,600 秒です。 |
|
省略可: コンテキスト キャッシュが作成されてから期限切れになるまでの期間のナノ秒部分。 |
FileData
URI またはウェブ URL データ。
パラメータ | |
---|---|
|
データの IANA MIME タイプ。 |
|
プロンプトに含めるファイルの URI または URL。有効な値は次のとおりです。
|
functionCall
モデルから返される、予測された functionCall
。functionDeclaration.name
を表す文字列と、パラメータとその値を含む構造化 JSON オブジェクトが含まれます。
パラメータ | |
---|---|
|
呼び出す関数の名前。 |
|
JSON オブジェクト形式の関数パラメータと値。 パラメータの詳細については、関数呼び出しをご覧ください。 |
functionResponse
FunctionDeclaration.name
を表す文字列を含む FunctionCall
からの出力。また、関数からの出力を含む構造化 JSON オブジェクトも含まれます(これはモデルのコンテキストとして使用されます)。これには、モデル予測に基づいて作成された FunctionCall
の結果が含まれている必要があります。
パラメータ | |
---|---|
|
呼び出す関数の名前。 |
|
JSON オブジェクト形式の関数のレスポンス。 |
videoMetadata
入力動画コンテンツを記述するメタデータ。
パラメータ | |
---|---|
|
省略可: 動画の開始オフセット |
|
省略可: 動画の終了オフセット。 |
safetySetting
安全性設定。
パラメータ | |
---|---|
|
省略可:
しきい値を構成する安全性カテゴリ。有効な値は次のとおりです。
クリックして安全性カテゴリを開く
|
|
省略可: 確率に基づいて、指定された安全性カテゴリに属する可能性のあるレスポンスをブロックするためのしきい値。
|
|
省略可: しきい値を確率スコアと重大度スコアのどちらに使用するかを指定します。指定しない場合、しきい値が確率スコアに使用されます。 |
harmCategory
コンテンツをブロックする有害カテゴリ。
パラメータ | |
---|---|
|
有害カテゴリが指定されていません。 |
|
有害カテゴリはヘイトスピーチです。 |
|
有害カテゴリは危険なコンテンツです。 |
|
有害カテゴリはハラスメントです。 |
|
有害カテゴリは、性的描写が露骨なコンテンツです。 |
harmBlockThreshold
レスポンスをブロックするために使用される確率しきい値のレベル。
パラメータ | |
---|---|
|
有害ブロックのしきい値が指定されていません。 |
|
低しきい値以上をブロックします(つまり、より多くのものをブロックします)。 |
|
中程度のしきい値以上をブロックします。 |
|
高しきい値のみをブロックします(つまり、ブロックを少なくします)。 |
|
ブロックなし。 |
|
すべてのカテゴリがオフになっている場合、安全性機能はオフになります。 |
harmBlockMethod
確率と重大度の組み合わせに基づいてレスポンスをブロックする確率しきい値。
パラメータ | |
---|---|
|
有害のブロック方法が指定されていません。 |
|
有害のブロック方法で、確率スコアと重大度スコアの両方を使用します。 |
|
有害のブロック方法で、確率スコアを使用します。 |
generationConfig
プロンプトの生成時に使用される構成設定。
パラメータ | |
---|---|
|
省略可:
温度は、レスポンスの生成時のサンプリングに使用されます。レスポンスの生成は、 モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。
詳細については、コンテンツ生成パラメータをご覧ください。 |
|
省略可: 指定した場合、Nucleus サンプリングが使用されます。 Top-P は、モデルが出力用にトークンを選択する方法を変更します。トークンは、確率の合計が Top-P 値に等しくなるまで、確率の高いもの(Top-K を参照)から低いものへと選択されます。たとえば、トークン A、B、C の確率が 0.3、0.2、0.1 で、Top-P の値が レスポンスのランダム性を下げる場合は小さい値を、ランダム性を上げる場合は大きい値を指定します。
|
|
省略可: Top-K は、モデルが出力用にトークンを選択する方法を変更します。Top-K が トークン選択のそれぞれのステップで、最も高い確率を持つ Top-K のトークンがサンプリングされます。その後、トークンは Top-P に基づいてさらにフィルタされ、最終的なトークンは温度サンプリングを使って選択されます。 レスポンスのランダム性を下げる場合は小さい値を、ランダム性を上げる場合は大きい値を指定します。 範囲:
|
|
省略可: レスポンスのバリエーションの数。リクエストごとに、すべての候補の出力トークンが課金されますが、入力トークンは 1 回のみ課金されます。 複数の候補を指定する機能は、
|
|
省略可: 整数 レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。 レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。 詳細については、コンテンツ生成パラメータをご覧ください。 |
|
省略可:
レスポンスでいずれかの文字列が検出された場合に、テキストの生成を停止するようモデルに指示する文字列のリストを指定します。レスポンスで文字列が複数回出現する場合、レスポンスでは最初に見つかった箇所が切り捨てられます。文字列では大文字と小文字が区別されます。 リスト内のアイテムは最大 5 個。 詳細については、コンテンツ生成パラメータをご覧ください。 |
|
省略可: 正のペナルティ。 値が正の場合は、生成されたテキスト内の既存のトークンにペナルティが課されるため、より多様なコンテンツが生成される確率は高くなります。
|
|
省略可: 値が正の場合は、生成されたテキストに繰り返し出現するトークンにペナルティが課されるため、コンテンツが繰り返される確率は低下します。
|
|
省略可: 次のモデルで利用できます。
生成された候補テキストの出力レスポンスの MIME タイプ。 次の MIME タイプがサポートされています。
意図しない動作を回避するために、適切なレスポンス タイプを指定します。たとえば、JSON 形式のレスポンスを必要とする場合は、 |
|
省略可: スキーマ 生成された候補テキストのスキーマ。詳細については、生成された出力を制御するをご覧ください。 このパラメータを使用するには、 次のモデルで利用できます。
|
|
省略可: シードが特定の値に固定されている場合、繰り返されるリクエストに対してモデルはベスト エフォートで同じレスポンスを提供します。確定的な出力は保証されません。また、モデルやパラメータの設定(温度など)を変更すると、同じシード値を使用してもレスポンスが変化することがあります。デフォルトでは、ランダムなシード値が使用されます。 これはプレビュー機能です。 次のモデルで利用できます。
|
|
省略可: true の場合、各ステップでモデルによって選択されたトークンのログ確率を返します。デフォルトでは、このパラメータは 次のモデルで利用できます。
これはプレビュー機能です。 |
|
省略可:
各生成ステップで、最上位の候補トークンのログ確率を返します。モデルが選択したトークンとログ確率は、各ステップで常に返されますが、上位候補のリストに含まれない場合があります。 このパラメータを使用するには、 これはプレビュー機能です。 |
|
省略可: 次のモデルで利用できます。
音声のみのファイルでタイムスタンプの認識を有効にします。 これはプレビュー機能です。 |
レスポンスの本文
{ "candidates": [ { "modelVersion": string, "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } }
レスポンス要素 | 説明 |
---|---|
modelVersion |
生成に使用されるモデルとバージョン。例: gemini-1.5-flash-002 。 |
text |
生成されたテキスト。 |
finishReason |
モデルがトークンの生成を停止した理由。空の場合、モデルはトークンの生成を停止していません。レスポンスはコンテキストとしてプロンプトを使用するため、モデルがトークンの生成を停止する動作を変更できません。
|
category |
しきい値を構成する安全性カテゴリ。有効な値は次のとおりです。
クリックして安全性カテゴリを開く
|
probability |
コンテンツ内が有害である確率のレベル。
|
blocked |
ブール値のフラグ。モデルの入力または出力がブロックされたかどうかを示す安全性属性に関連するフラグです。 |
startIndex |
content の中で引用の開始位置を示す整数。 |
endIndex |
content の中で引用の終了位置を示す整数。 |
url |
引用元の URL。引用元の URL ソースとしては、ニュースサイトや GitHub リポジトリなどがあります。 |
title |
引用元のタイトル。引用元のタイトルとしては、ニュース記事や書籍などがあります。 |
license |
引用に関連付けられているライセンス。 |
publicationDate |
引用が公開された日付。有効な形式は、YYYY 、YYYY-MM 、YYYY-MM-DD です。 |
avgLogprobs |
候補の平均ログ確率。 |
token |
生成 AI モデルは、テキストデータをトークン(文字、単語、フレーズ)に分割して処理します。 |
logProbability |
特定のトークンに対するモデルの信頼度を示すログ確率値。 |
promptTokenCount |
リクエスト内のトークン数。 |
candidatesTokenCount |
レスポンス内のトークン数。 |
totalTokenCount |
リクエストとレスポンス内のトークンの数。 |
例
非ストリーミング テキスト レスポンス
テキスト入力から非ストリーミング モデルのレスポンスを生成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト ID。LOCATION
: リクエストを処理するリージョン。MODEL_ID
: 使用するモデルのモデル ID(gemini-1.5-flash-002
など)。サポートされているモデルのリストをご覧ください。TEXT
: プロンプトに含める指示のテキスト。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
リクエストの本文(JSON):
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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:generateContent"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: リクエストを処理するリージョン。
- MODEL_ID: 使用するモデルの名前。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
非ストリーミング マルチモーダル レスポンス
テキストや画像などのマルチモーダル入力から非ストリーミング モデル レスポンスを生成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト ID。LOCATION
: リクエストを処理するリージョン。MODEL_ID
: 使用するモデルのモデル ID(gemini-1.5-flash-002
など)。サポートされているモデルのリストをご覧ください。TEXT
: プロンプトに含める指示のテキスト。FILE_URI
: データを格納するファイルの Cloud Storage URIMIME_TYPE
: データの IANA MIME タイプ。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
リクエストの本文(JSON):
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } } ] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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:generateContent"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: リクエストを処理するリージョン。
- MODEL_ID: 使用するモデルの名前。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
ストリーミング テキスト レスポンス
テキスト入力からストリーミング モデルのレスポンスを生成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト ID。LOCATION
: リクエストを処理するリージョン。MODEL_ID
: 使用するモデルのモデル ID(gemini-1.5-flash-002
など)。サポートされているモデルのリストをご覧ください。TEXT
: プロンプトに含める指示のテキスト。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
リクエストの本文(JSON):
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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:streamGenerateContent"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: リクエストを処理するリージョン。
- MODEL_ID: 使用するモデルの名前。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
ストリーミング マルチモーダル レスポンス
テキストや画像などのマルチモーダル入力からストリーミング モデルのレスポンスを生成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト ID。LOCATION
: リクエストを処理するリージョン。MODEL_ID
: 使用するモデルのモデル ID(gemini-1.5-flash-002
など)。サポートされているモデルのリストをご覧ください。TEXT
: プロンプトに含める指示のテキスト。FILE_URI1
: データを格納するファイルの Cloud Storage URIMIME_TYPE1
: データの IANA MIME タイプ。FILE_URI2
: データを格納するファイルの Cloud Storage URIMIME_TYPE2
: データの IANA MIME タイプ。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
リクエストの本文(JSON):
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE1" } }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE2" } } ] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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:streamGenerateContent"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- LOCATION: リクエストを処理するリージョン。
- MODEL_ID: 使用するモデルの名前。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
リクエストの本文(JSON):
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python(OpenAI)
OpenAI ライブラリを使用して、Inference API を呼び出すことができます。詳細については、OpenAI ライブラリを使用して Vertex AI モデルを呼び出すをご覧ください。
モデル バージョン
自動更新バージョンを使用するには、末尾のバージョン番号なしでモデル名を指定します(たとえば、gemini-1.5-flash-001
ではなく gemini-1.5-flash
)。
詳細については、Gemini モデルのバージョンとライフサイクルをご覧ください。
次のステップ
- Gemini API の詳細を確認する。
- 関数呼び出しの詳細を確認する。
- Gemini モデルのレスポンスのグラウンディングの詳細を確認する。