发送反馈
将 OpenAI 库与 Vertex AI 搭配使用
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本文档展示了如何使用与 OpenAI 兼容的 Chat Completions API 与 Vertex AI 模型进行交互。本文档介绍了以下主题:
支持的模型 :了解哪些 Gemini 模型和自行部署的 Model Garden 模型与该 API 兼容。
支持的参数 :查看可使用的标准 OpenAI 参数列表。
多模态输入参数 :了解如何使用音频和图片等多模态输入。
特定于 Gemini 的参数 :了解如何通过 extra_body
和 extra_part
字段使用特定于 Gemini 的功能。
Chat Completions API 是一个与 OpenAI 兼容的端点,可让您使用 OpenAI Python 和 REST 库与 Vertex AI 上的 Gemini 进行交互。如果您已经在使用 OpenAI 库,则可以使用此 API 在 OpenAI 模型和 Vertex AI 托管模型之间切换,以比较输出、成本和可伸缩性,而只需对现有代码进行极少的更改。如果您不使用 OpenAI 库,建议您使用 Google Gen AI SDK 。
支持的模型
Chat Completions API 同时支持 Gemini 模型和来自 Model Garden 的部分自行部署模型。
Gemini 模型
Chat Completions API 支持以下 Gemini 模型:
来自 Model Garden 的自行部署模型
Hugging Face 文本生成接口 (HF TGI) 和 Vertex AI Model Garden 预构建 vLLM 容器支持 Chat Completions API。不过,并非部署到这些容器中的所有模型都支持 Chat Completions API。下表包含按容器列出的最常用受支持模型:
支持的参数
对于 Google 模型,Chat Completions API 支持以下 OpenAI 参数。如需了解每个参数的说明,请参阅 OpenAI 有关创建聊天补全 的文档。
针对第三方模型的参数支持因模型而异。如需查看支持的参数,请参阅模型的文档。
messages
System message
User message
:支持 text
和 image_url
类型。image_url
类型支持以 "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
形式采用 Cloud Storage URI 或 base64 编码存储的图片。如需了解如何创建 Cloud Storage 存储桶并向其中上传文件,请参阅探索对象存储 。
不支持 detail
选项。
Assistant message
Tool message
Function message
:此字段已弃用,但仍受支持,以实现向后兼容性。
model
max_completion_tokens
max_tokens
的别名。
max_tokens
n
frequency_penalty
presence_penalty
reasoning_effort
配置回答所用的时间和 token 数量。
low
: 1024
medium
: 8192
high
: 24576
由于回答中未包含任何想法,因此只能指定 reasoning_effort
或 extra_body.google.thinking_config
中的一个。
response_format
json_object
:解释为将“application/json”传递给 Gemini API。
json_schema
。
不支持完全递归的架构 。支持 additional_properties
。
text
:解释为将“text/plain”传递给 Gemini API。
任何其他 MIME 类型都会按原样传递给模型,例如直接传递“application/json”。
seed
对应于 GenerationConfig.seed
。
stop
stream
temperature
top_p
tools
type
function
name
description
parameters
:使用 OpenAPI 规范 指定参数。该字段与 OpenAPI 参数字段不同,后者被描述为 JSON 架构对象。如需了解 OpenAPI 和 JSON 架构的关键字有何差异,请参阅 OpenAPI 指南 。
tool_choice
none
auto
required
:对应于 FunctionCallingConfig
中的 ANY
模式。
validated
:对应于 FunctionCallingConfig
中的 VALIDATED
模式。这是 Google 特有的。
web_search_options
对应于 GoogleSearch
工具。不支持任何子选项。
function_call
此字段已弃用,但仍受支持,以实现向后兼容性。
functions
此字段已弃用,但仍受支持,以实现向后兼容性。
如果您传递任何不受支持的参数,系统会忽略该参数。
多模态输入参数
Chat Completions API 支持部分多模态输入。
input_audio
data:
任何 URI 或有效的 blob 格式。我们支持所有 blob 类型,包括图片、音频和视频。GenerateContent
支持的任何内容(HTTP、Cloud Storage 等)均受支持。
format:
OpenAI 支持 wav
(audio/wav) 和 mp3
(audio/mp3)。使用 Gemini 时,支持所有有效的 MIME 类型。
image_url
data:
与 input_audio
类似,支持任何 URI 或有效的 blob 格式。
请注意,作为网址的 image_url
将默认采用 image/* MIME 类型,而作为 blob 数据的 image_url
可用作任何多模态输入。
detail:
与媒体分辨率 类似,此参数用于确定请求中每张图片的最大token数。请注意,虽然 OpenAI 的字段是按图片设置的,但 Gemini 会在整个请求中强制执行相同的详细程度,并且在一个请求中传递多种详细程度类型会引发错误。
一般来说,data
参数可以是 URI,也可以是 MIME 类型和 base64 编码字节的组合,格式为 "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
。如需查看 MIME 类型的完整列表,请参阅 GenerateContent
。
如需详细了解 OpenAI 的 base64 编码,请参阅 其文档 。
如需了解用法,请参阅我们的多模态输入示例 。
Gemini 特有的参数
如需使用 Gemini 支持但 OpenAI 模型不支持的功能,请在 extra_content
或 extra_body
字段中以参数形式传递这些功能。如果您在这些字段之外传递这些特征,系统会忽略它们。
extra_body
个功能
如需使用特定于 Gemini 的 extra_body
功能,请将其纳入 google
字段中。
{
... ,
"extra_body" : {
"google" : {
... ,
// Add extra_body features here.
}
}
}
您可以使用 extra_part
字段为每个 Part
指定其他设置。如需使用特定于 Gemini 的 extra_part
功能,请将其纳入 google
字段中。
{
... ,
"extra_part" : {
"google" : {
... ,
// Add extra_part features here.
}
}
}
extra_content
用于添加不应忽略的 Gemini 特定内容的字段。
thought
用于明确标记某个字段是否为想法(并优先于 thought_tag_marker
)。应使用此参数来指定工具调用是否为想法的一部分。
后续步骤
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-19。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-19。"],[],[]]