Chat Completions API は Open AI 互換のエンドポイントとして機能し、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 または MIME タイプと base64 エンコードされたバイトの組み合わせ("data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
形式)を使用できます。MIME タイプの一覧については、GenerateContent
をご覧ください。OpenAI の Base64 エンコードの詳細については、ドキュメントをご覧ください。
使用方法については、マルチモーダル入力の例をご覧ください。
Gemini 固有のパラメータ
Gemini でサポートされている機能の中には、OpenAI モデルでは利用できない機能がいくつかあります。これらの機能はパラメータとして渡すことはできますが、extra_content
または extra_body
内に含める必要があります。含めないと無視されます。
extra_body
件の機能
safety_settings |
これは Gemini の SafetySetting に対応します。 |
cached_content |
これは Gemini の GenerateContentRequest.cached_content に対応します。 |
thinking_config |
これは Gemini の GenerationConfig.ThinkingConfig に対応します。 |
thought_tag_marker |
Thinking が利用可能なモデルで、モデルの思考をレスポンスから分離するために使用されます。 指定しない場合、モデルの思考の周囲にタグは返されません。存在する場合、後続のクエリでは思考タグが削除され、コンテキストに応じて思考が適切にマークされます。これにより、後続のクエリに適切なコンテキストを保持できます。 |
extra_part
件の機能
extra_part
を使用すると、Part
単位で追加の設定を指定できます。
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 に移行するをご覧ください。