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_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
response_format |
|
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
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 编码,请参阅 OpenAI 的文档。
如需了解用法,请参阅我们的多模态输入示例。
Gemini 专用参数
Gemini 支持的多项功能在 OpenAI 模型中不可用。这些功能仍然可以作为参数传入,但必须包含在 extra_content
或 extra_body
中,否则会被忽略。
extra_body
个功能
safety_settings |
这对应于 Gemini 的 SafetySetting 。 |
cached_content |
这对应于 Gemini 的 GenerateContentRequest.cached_content 。 |
thought_tag_marker |
对于支持思考功能的模型,用于将模型的想法与其回答分开。 如果未指定,系统将不会在模型的想法周围返回任何标记。如果存在,后续查询将会移除想法标记,并根据上下文对想法进行适当标记。这有助于为后续查询保留适当的上下文。 |
后续步骤
- 详细了解如何使用与 OpenAI 兼容的语法进行身份验证和授权。
- 查看使用 OpenAI 兼容语法调用 Chat Completions API 的示例。
- 查看使用 OpenAI 兼容语法调用 Inference API 的示例。
- 查看使用 OpenAI 兼容语法调用 Function Calling API 的示例。
- 详细了解 Gemini API。
- 详细了解如何从 Azure OpenAI 迁移到 Gemini API。