Chat Completions API 可作为与 OpenAI 兼容的端点,旨在让您能够使用 Python 和 REST 的 OpenAI 库,更轻松地在 Gemini Enterprise Agent Platform 上与 Gemini 进行交互。如果您已经在使用 OpenAI 库,则可以使用此 API 以低成本的方式在调用 OpenAI 模型和 Agent Platform 托管模型之间切换,以比较输出、成本和可伸缩性,而无需更改现有代码。如果您尚未使用 OpenAI 库,我们建议您使用 Google Gen AI SDK。如需迁移现有 OpenAI SDK 代码以使用 Google Gen AI SDK,请参阅从 OpenAI SDK 迁移到 Google Gen AI SDK。
支持的模型
Chat Completions API 同时支持 Gemini 模型和来自 Model Garden 的部分自行部署模型。
Gemini 模型
以下模型支持 Chat Completions API:
点击即可展开支持的型号
来自 Model Garden 的自行部署模型
Hugging Face 文本生成接口 (HF TGI) 和 Agent Platform Model Garden 预构建 vLLM 容器支持 Chat Completions API。不过,并非部署到这些容器中的所有模型都支持 Chat Completions API。下表包含按容器列出的最常用受支持模型:
HF TGI |
vLLM |
|---|---|
支持的参数
对于 Google 模型,Chat Completions API 支持以下 OpenAI 参数。如需了解每个参数的说明,请参阅 OpenAI 有关创建聊天补全的文档。 针对第三方模型的参数支持因模型而异。如需查看支持的参数,请参阅模型的文档。
messages |
|
model |
|
detail |
对于 Gemini 3 之前的模型,detail 字段在所有消息和内容中必须保持一致(它是请求级)。对于 Gemini 3 及更高版本,这对应于部件级 `media_resolution`。如需了解详情,请参阅媒体分辨率。
|
max_completion_tokens |
max_tokens 的别名。 |
modalities |
支持 audio、image 和 text。 |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
配置回答所用的时间和 token 数量。
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 generateContent.cached_content 字段。
|
thinking_config |
这对应于 Gemini GenerationConfig.ThinkingConfig。
|
thought_tag_marker |
用于将模型的想法与回答分开,适用于提供思考功能的模型。 如果未指定,则不会返回模型想法周围的任何标记。如果存在,后续查询将剥离思路标记,并根据上下文适当标记思路。这有助于为后续查询保留适当的上下文。 |
stream_function_call_arguments |
以 JSON 片段的形式将函数调用实参流式传输回。如需了解详情,请参阅 对函数调用参数进行流式传输。 |
tools |
指定与 `GenerateContent` 类似的工具。如需了解详情,请参阅 Tool。 |
media_resolution |
指定类似于 `GenerateContent` 的请求级媒体分辨率。如需了解详情,请参阅
MediaResolution。 |
extra_content 个功能
extra_content 可让您指定不应被忽略的 Gemini 特有内容。
添加一个 google 字段,用于包含任何 Gemini 特有的 extra_content 功能。
{
...,
"extra_content": {
"google": {
...,
// Add extra_content features here.
}
}
}
thought |
此字段明确标记某个字段是否为思考内容,并且优先级高于 thought_tag_marker。它有助于区分思考过程中的不同步骤,特别是在中间步骤可能会被误认为是最终回答的工具使用场景中。通过将输入的特定部分标记为思考,您可以引导模型将其视为内部推理,而不是面向用户的回答。 |
thought_signature |
一个字节字段,提供思考签名以验证模型返回的思考内容。此字段与布尔值字段 thought 不同。如需了解详情,请参阅思考签名。 |
parts |
特定于工具消息,用于将多模态函数响应部分传递回模型。
如需了解详情,请参阅
FunctionResponsePart 和多模态函数响应。 |
后续步骤
- 详细了解如何使用与 OpenAI 兼容的语法进行身份验证和凭证验证。
- 查看使用 OpenAI 兼容语法调用 Chat Completions API 的示例。
- 查看使用 OpenAI 兼容语法调用 Inference API 的示例。
- 查看使用 OpenAI 兼容语法调用 Function Calling API 的示例。
- 详细了解 Gemini API。
- 详细了解如何从 Azure OpenAI 迁移到 Gemini API。
- 如需迁移现有 OpenAI SDK 代码以使用 Google Gen AI SDK,请参阅从 OpenAI SDK 迁移到 Google Gen AI SDK。