Google Vertex AI
Google Vertex AI 是 Google Cloud 面向 Gemini 和合作伙伴模型的托管平台。AISIX 为应用提供统一的兼容 OpenAI API,以调用这些由 Vertex 托管的模型。
此配置适用于需要使用 AISIX 认证、模型允许列表、速率限制和用量核算的 Vertex 托管模型。AISIX 使用 GCP OAuth2 Bearer Token 向 Vertex 认证,并可从服务账号密钥签发该 Token。
准备工作
开始前,请准备以下内容:
- 一套 AISIX 环境:
- 对于 AISIX Cloud,需要一个已关联网关的环境和具有写入作用域的 Admin Token。对于 On-Premises,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,请准备本地 AISIX 安装,或使用开源 AISIX 网关快速入门中的 Docker 环境。配置网关以加载声明式资源文件。
- 已在目标 GCP 项目中启用 Vertex AI API。
- 目标模型支持的 Vertex 位置,以及可调用该模型的服务账号。当前 Gemini 示例使用
global。 - GCP 项目 ID 和 Vertex 模型 ID。
curl和jq。
使用 AISIX Cloud 配置
导出 AISIX Cloud 连接信息:
# AISIX_CP 是 Admin API 基础 URL;应包含 /api,且不含尾部斜杠
# 本地私有化部署快速入门使用 http://localhost:8080/api
export AISIX_CP="YOUR_AISIX_CLOUD_ADMIN_API_URL"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
创建 Vertex 服务提供方密钥、模型别名和调用方 API Key。服务提供方密钥存储 GCP 项目、区域和凭证模式;模型则选择 Vertex 发布方模型 ID。
创建 Vertex 服务提供方密钥
使用 GCP 凭证设置创建 Vertex 服务提供方密钥:
PROVIDER_KEY_ID=$(curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "vertex-prod",
"provider": "google-vertex",
"api_base": "https://aiplatform.googleapis.com",
"config": {
"project": "my-gcp-project",
"region": "global",
"service_account_json": {
"type": "service_account",
"private_key": "-----BEGIN PRIVATE KEY-----\nYOUR_SERVICE_ACCOUNT_PRIVATE_KEY\n-----END PRIVATE KEY-----\n",
"client_email": "vertex-sa@my-gcp-project.iam.gserviceaccount.com",
"token_uri": "https://oauth2.googleapis.com/token"
}
},
"allowed_environments": ["'"$ENV_ID"'"]
}' | jq -r '.provider_key.id')