摘要
通过 Chat Completions API,开发者可以使用 Python 或 REST 版的 OpenAI 库向 Vertex AI 模型发送请求。本文将详细介绍如何配置身份验证、调用 Gemini 模型以及部署自定义模型,帮助您轻松实现 AI 模型的切换与优化。
简介
借助 OpenAI 库的 Chat Completions API,您可以在调用 OpenAI 模型和 Vertex AI 模型之间无缝切换,无需修改现有代码。这一功能不仅便于比较不同模型的输出、成本和可扩展性,还为开发者提供了更高的灵活性。如果您尚未使用 OpenAI 库,建议直接调用 Gemini API。
支持的模型
Chat Completions API 支持以下两类模型:
– Gemini 模型
– Model Garden 中的自行部署模型
身份验证配置
安装 OpenAI SDK
首先,安装 OpenAI Python SDK:
bash
pip install openai
身份验证方法
您可以通过以下两种方式配置身份验证:
1. 修改客户端设置
2. 更改环境配置,使用 Google 身份验证和 Vertex AI 端点
使用 google-auth
Python SDK 以编程方式获取 Google 凭据:
python
import google.auth
creds, project = google.auth.default()
默认情况下,访问令牌的有效期为 1 小时。您可以通过延长访问令牌的有效期或定期刷新令牌来延长其使用时间。
调用 Gemini 模型
Python 示例
以下代码展示了如何使用 Chat Completions API 向 Gemini 模型发送流式请求:
python
client = openai.OpenAI()
response = client.chat.completions.create(
model=”google/gemini-1.5-flash-002″,
messages=[{“role”: “user”, “content”: “Why is the sky blue?”}]
)
print(response.choices[0].message.content)
调用自行部署的模型
非流式请求示例
以下代码展示了如何发送非流式请求:
bash
curl -X POST \
-H “Authorization: Bearer $(gcloud auth print-access-token)” \
-H “Content-Type: application/json” \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT}/chat/completions \
-d ‘{
“stream”: false,
“messages”: [{
“role”: “user”,
“content”: “Write a story about a magic backpack.”
}]
}’
支持的参数
Chat Completions API 支持以下 OpenAI 参数:
– messages
:包括系统消息、用户消息、助手消息等。
– model
:指定模型名称。
– max_tokens
:控制生成的文本长度。
– temperature
:调节生成文本的随机性。
如需了解每个参数的详细说明,请参阅 OpenAI 的创建聊天补全文档。
刷新凭据
以下 Python 示例展示了如何自动刷新凭据:
python
class OpenAICredentialsRefresher:
def init(self, kwargs):
self.client = openai.OpenAI(kwargs, api_key=”DUMMY”)
self.creds, self.project = google.auth.default()
def __getattr__(self, name):
if not self.creds.valid:
auth_req = google.auth.transport.requests.Request()
self.creds.refresh(auth_req)
self.client.api_key = self.creds.token
return getattr(self.client, name)
后续步骤
- 查看使用 OpenAI 兼容语法调用 Inference API 的示例。
- 了解如何从 Azure OpenAI 迁移到 Gemini API。
通过本文的指导,您可以轻松使用 OpenAI 库调用 Vertex AI 模型,实现更高效的 AI 开发与部署。如需更多帮助,请访问相关文档或联系技术支持。