Chat Completions API は、OpenAI 互換のエンドポイントとして機能します。これは、Python と REST 用の OpenAI ライブラリを使用して、Vertex AI の Gemini とのインターフェースを容易にするように設計されています。すでに OpenAI ライブラリを使用している場合は、この API を使用して OpenAI モデルと Vertex AI ホストモデルの呼び出しを切り替えることで、既存のコードを変更することなく、出力、コスト、スケーラビリティを比較できます。OpenAI ライブラリを使用していない場合は、Google Gen AI SDK を使用することをおすすめします。
サポートされているモデル
Chat Completions API は、Gemini モデルと、Model Garden から選択したセルフデプロイ モデルの両方をサポートしています。
Gemini モデル
次のモデルは Chat Completions API をサポートしています。
- Gemini 3 Pro (プレビュー)
- Gemini 2.5 Pro
- Gemini 2.5 Flash(プレビュー)
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Model Garden からセルフデプロイされたモデル
Hugging Face Text Generation Interface(HF TGI)コンテナと Vertex AI Model Garden のビルド済み vLLM コンテナは、Chat Completions API をサポートしています。ただし、これらのコンテナにデプロイされたすべてのモデルが Chat Completions API をサポートしているわけではありません。次の表に、コンテナ別にサポートされている最も一般的なモデルを示します。
HF TGI |
vLLM |
|---|---|
サポートされるパラメータ
Google モデルの場合、Chat Completions API は次の OpenAI パラメータをサポートしています。各パラメータの説明については、OpenAI のチャット補完の作成に関するドキュメントをご覧ください。サードパーティ モデルのパラメータのサポートはモデルによって異なります。サポートされているパラメータを確認するには、モデルのドキュメントをご覧ください。
messages |
|
model |
|
max_completion_tokens |
max_tokens のエイリアス。 |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
レスポンスで使用される時間とトークンの数を構成します。
reasoning_effort または extra_body.google.thinking_config のいずれか一つのみを指定できます。 |
response_format |
|
seed |
GenerationConfig.seed に対応します。 |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
GoogleSearch ツールに対応します。サブオプションはサポートされていません。 |
function_call |
このフィールドは非推奨ですが、下位互換性確保のためにサポートされています。 |
functions |
このフィールドは非推奨ですが、下位互換性確保のためにサポートされています。 |
サポートされていないパラメータを渡した場合、そのパラメータは無視されます。
マルチモーダル入力パラメータ
Chat Completions API は、選択したマルチモーダル入力をサポートしています。
input_audio |
|
image_url |
|
一般に、data パラメータは URI、または "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>" 形式の MIME タイプと Base64 エンコード バイトの組み合わせにできます。MIME タイプの完全なリストについては、GenerateContent をご覧ください。OpenAI の Base64 エンコードの詳細については、OpenAI のドキュメントをご覧ください。
使用方法については、マルチモーダル入力の例をご覧ください。
Gemini 固有のパラメータ
Gemini でサポートされている機能のうち、OpenAI モデルでは利用できないものがいくつかあります。これらの機能はパラメータとして渡すことができますが、extra_content または extra_body 内に含める必要があります。そうしないと無視されます。
extra_body 機能
Gemini 固有の extra_body 機能を含む google フィールドを含めます。
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
これは Gemini の SafetySetting に対応します。 |
cached_content |
これは Gemini の GenerateContentRequest.cached_content に対応します。 |
thinking_config |
これは Gemini の GenerationConfig.ThinkingConfig に対応します。 |
thought_tag_marker |
思考が利用可能なモデルで、モデルの思考とレスポンスを分離するために使用されます。 指定しない場合、モデルの思考に関するタグは返されません。存在する場合、後続のクエリでは思考タグが削除され、コンテキストに合わせて思考が適切にマークされます。これにより、後続のクエリに適したコンテキストを維持できます。 |
extra_part 機能
extra_part を使用すると、Part ごとに追加の設定を指定できます。
Gemini 固有の extra_part 機能を含む google フィールドを含めます。
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
無視すべきでない Gemini 固有のコンテンツを追加するためのフィールド。 |
thought |
このフィールドは、フィールドが思考であるかどうかを明示的にマークし、thought_tag_marker よりも優先されます。思考プロセスのさまざまなステップを区別するのに役立ちます。特に、中間ステップが最終的な回答と誤解される可能性があるツール使用シナリオで役立ちます。入力の特定の部分を思考としてタグ付けすることで、モデルがそれらをユーザー向けのレスポンスではなく内部の推論として扱うように誘導できます。 |
thought_signature |
モデルから返された思考を検証するための思考署名を提供するバイト フィールド。このフィールドは、ブール値フィールドである thought とは異なります。詳細については、思考署名をご覧ください。 |
次のステップ
- OpenAI 互換の構文を使用した認証と認証情報について確認する。
- OpenAI 互換の構文で Chat Completions API を呼び出す例を確認する。
- OpenAI 互換の構文で Inference API を呼び出す例をご覧ください。
- OpenAI 互換の構文で Function Calling API を呼び出す例をご覧ください。
- 詳細については、Gemini API をご覧ください。
- 詳細については、Azure OpenAI から Gemini API に移行するをご覧ください。