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 文字生成介面 (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,也可以是 MIME 類型和 Base64 編碼位元組的組合,格式為 "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
。如需完整的 MIME 類型清單,請參閱 GenerateContent
。
如要進一步瞭解 OpenAI 的 base64 編碼,請參閱他們的說明文件。
如需使用方式,請參閱多模態輸入範例。
Gemini 專屬參數
Gemini 支援多項 OpenAI 模型不支援的功能。
這些功能仍可做為參數傳遞,但必須包含在 extra_content
或 extra_body
中,否則系統會忽略這些功能。
extra_body
項功能
加入 google
欄位,內含任何 Gemini 專屬功能。extra_body
{
...,
"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
層級指定其他設定。
加入 google
欄位,內含任何 Gemini 專屬功能。extra_part
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
用於新增不應忽略的 Gemini 專屬內容的欄位。 |
thought |
這會明確標示欄位是否為想法 (並優先於 thought_tag_marker )。這項屬性可用於指定工具呼叫是否為想法的一部分。 |
後續步驟
- 進一步瞭解如何使用 OpenAI 相容語法進行驗證和憑證核發。
- 請參閱呼叫 Chat Completions API 的範例,瞭解如何使用與 OpenAI 相容的語法。
- 請參閱使用 OpenAI 相容語法呼叫 Inference API 的範例。
- 請參閱呼叫 Function Calling API 的範例,瞭解如何使用與 OpenAI 相容的語法。
- 進一步瞭解 Gemini API。
- 進一步瞭解如何從 Azure OpenAI 遷移至 Gemini API。