# 使用 OpenAI 库调用 Vertex AI 模型的完整指南

By [gouqi](https://paragraph.com/@gouqi) · 2025-02-13

---

借助 **Chat Completions API**，您可以通过 Python 版和 REST 版 **OpenAI 库** 向 **Vertex AI 模型** 发送请求。如果您已经在使用 OpenAI 库，可以通过此 API 在调用 **OpenAI 模型** 和 **Vertex AI 托管模型** 之间无缝切换，以比较输出结果、成本和可伸缩性，而无需修改现有代码。对于还未使用 OpenAI 库的用户，建议直接调用 **Gemini API**。

👉 [野卡 | 一分钟注册，轻松订阅海外线上服务](https://bit.ly/yeka)

* * *

支持的模型
-----

**Chat Completions API** 支持以下模型：

*   **Gemini 模型**
    
*   **Model Garden** 中的部分自行部署模型
    

* * *

身份验证
----

### 安装 OpenAI SDK

要使用 **OpenAI Python 库**，首先需要安装 OpenAI SDK： bash pip install openai

### 配置身份验证

您可以通过修改客户端设置或更改环境配置，使用 **Google 身份验证** 和 **Vertex AI 端点**。根据具体需求，选择调用 Gemini 模型或自行部署的 **Model Garden 模型**，并按照相应的设置步骤操作。

### 获取 Google 凭据

在 Python 中，您可以使用 `google-auth` Python SDK 以编程方式获取 Google 凭据： python import google.auth creds, project = google.auth.default()

默认情况下，访问令牌的有效期为 1 小时。您可以通过延长访问令牌的有效期或定期刷新令牌来更新 `openai.api_key` 变量。

* * *

使用 Chat Completions API 调用模型
----------------------------

### 调用 Gemini 模型

设置 `MODEL_ID` 变量，并使用 `openapi` 端点进行调用： python MODEL\_ID = "google/gemini-1.5-flash-002"

### 调用自行部署的模型

设置 `ENDPOINT` 变量，并在请求 URL 中使用： python ENDPOINT = "your-endpoint-url"

### 初始化客户端

python client = openai.OpenAI()

* * *

支持的参数
-----

对于 **Google 模型**，Chat Completions API 支持以下 **OpenAI 参数**：

*   `messages`：支持 `System message`、`User message`、`Assistant message`、`Tool message` 和 `Function message`。
    
*   `model`：指定模型名称。
    
*   `max_tokens`：设置最大 token 数。
    
*   `temperature` 和 `top_p`：控制生成文本的随机性。
    
*   `stream`：启用流式传输。
    

如果您传递任何不受支持的参数，系统将自动忽略。

* * *

刷新凭据
----

以下示例展示了如何根据需要自动刷新凭据： python from google.auth.transport.requests import Request creds.refresh(Request())

* * *

后续步骤
----

*   查看使用 OpenAI 兼容语法调用 Inference API 的示例。
    
*   了解更多关于 Gemini API 的信息。
    
*   探索如何从 Azure OpenAI 迁移到 Gemini API。
    

👉 \[野卡 | 一分钟注册，轻松订阅海外线上服务\]([https://bit](https://bit)

---

*Originally published on [gouqi](https://paragraph.com/@gouqi/openai-vertex-ai)*
