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 をサポートしています。
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 のいずれか 1 つのみを指定できます。 |
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 よりも優先されます)。これは、ツール呼び出しが思考の一部であるかどうかを指定するために使用する必要があります。 |
次のステップ
- OpenAI 互換の構文を使用した認証と認証情報について学習する。
- OpenAI 互換の構文で Chat Completions API を呼び出す例をご覧ください。
- OpenAI 互換の構文で Inference API を呼び出す例をご覧ください。
- OpenAI 互換の構文で Function Calling API を呼び出す例をご覧ください。
- 詳細については、Gemini API をご覧ください。
- 詳細については、Azure OpenAI から Gemini API に移行するをご覧ください。