Google Vertex AI
Google Vertex AI 是 Google Cloud 的企业级机器学习平台,提供强大的 AI 模型和工具。
支持的模型
Gemini 系列
- gemini-pro - 通用模型
- gemini-pro-vision - 多模态模型
- gemini-1.5-pro - 高性能模型
- gemini-1.5-flash - 快速响应模型
PaLM 系列
- text-bison - 文本生成模型
- chat-bison - 对话模型
- code-bison - 代码生成模型
- codechat-bison - 代码对话模型
配置方法
基础配置
在 config.yaml 或 ~/.bytebuddy/config.yaml 中配置:
yaml
models:
- name: "vertex-gemini"
provider: "vertexai"
model: "gemini-pro"
roles: ["chat", "edit"]
env:
projectId: "your-gcp-project-id"
location: "us-central1"
defaultCompletionOptions:
temperature: 0.7
maxTokens: 8192使用服务账户
yaml
models:
- name: "vertex-sa"
provider: "vertexai"
model: "gemini-pro"
roles: ["chat"]
env:
projectId: "${GCP_PROJECT_ID}"
location: "us-central1"
credentials:
clientEmail: "${GCP_CLIENT_EMAIL}"
privateKey: "${GCP_PRIVATE_KEY}"多模型配置
yaml
models:
- name: "vertex-gemini"
provider: "vertexai"
model: "gemini-1.5-pro"
roles: ["chat", "edit"]
env:
projectId: "my-project"
location: "us-central1"
defaultCompletionOptions:
temperature: 0.7
maxTokens: 8192
- name: "vertex-codebison"
provider: "vertexai"
model: "code-bison"
roles: ["edit"]
env:
projectId: "my-project"
location: "us-central1"
defaultCompletionOptions:
temperature: 0.2
maxTokens: 2048配置字段说明
必需字段
- name: 模型配置的唯一标识符
- provider: 设置为
"vertexai" - model: 模型名称
环境配置 (env)
- projectId: GCP 项目 ID(必需)
- location: 区域位置(必需)
- credentials: 服务账户凭证(可选)
clientEmail: 服务账户邮箱privateKey: 私钥
可选字段
- roles: 模型角色 [
chat,edit,apply] - defaultCompletionOptions:
temperature: 控制输出的随机性(0-1)maxTokens: 最大输出令牌数topP: 核采样参数topK: 采样候选数量
环境变量配置
bash
# ~/.bashrc 或 ~/.zshrc
export GCP_PROJECT_ID="your-project-id"
export GCP_CLIENT_EMAIL="service-account@project.iam.gserviceaccount.com"
export GCP_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"设置步骤
1. 创建 GCP 项目
- 登录 Google Cloud Console
- 创建新项目或选择现有项目
- 记录项目 ID
2. 启用 Vertex AI API
bash
gcloud services enable aiplatform.googleapis.com --project=your-project-id3. 设置认证
方法 A: 服务账户
- 创建服务账户
- 授予
roles/aiplatform.user角色 - 下载 JSON 密钥文件
- 配置环境变量
方法 B: 应用程序默认凭证
bash
gcloud auth application-default login
gcloud config set project your-project-id使用场景配置
文本生成
yaml
models:
- name: "text-gen"
provider: "vertexai"
model: "gemini-1.5-pro"
roles: ["chat"]
env:
projectId: "my-project"
location: "us-central1"
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096代码生成
yaml
models:
- name: "code-gen"
provider: "vertexai"
model: "code-bison"
roles: ["edit"]
env:
projectId: "my-project"
location: "us-central1"
defaultCompletionOptions:
temperature: 0.2
maxTokens: 2048区域选择
可用区域:
us-central1- 美国中部(爱荷华)us-west1- 美国西部(俄勒冈)us-east1- 美国东部(南卡罗来纳)europe-west1- 欧洲(比利时)europe-west4- 欧洲(荷兰)asia-northeast1- 亚洲(东京)
故障排除
常见错误
- Permission Denied: 检查 IAM 权限
- Model Not Found: 验证模型名称和区域
- Quota Exceeded: 检查配额限制
- Invalid Argument: 验证参数格式
- Unauthenticated: 检查认证配置
调试步骤
- 验证 GCP 凭证
- 检查项目 ID 和区域
- 确认 API 已启用
- 查看日志文件
- 验证 IAM 权限
最佳实践
1. 认证管理
- 使用服务账户而非用户凭证
- 定期轮换密钥
- 使用环境变量存储敏感信息
- 限制服务账户权限
2. 性能优化
- 选择最近的区域
- 使用合适的模型
- 设置合理的超时时间
- 实施请求缓存
3. 成本控制
- 监控 API 使用量
- 设置预算提醒
- 选择合适的模型
- 使用配额管理
4. 安全性
- 限制 API 访问
- 启用审计日志
- 使用 VPC 服务控制
- 实施数据加密
IAM 权限
确保服务账户具有以下权限:
json
{
"role": "roles/aiplatform.user",
"members": ["serviceAccount:your-sa@project.iam.gserviceaccount.com"]
}或自定义权限:
aiplatform.endpoints.predictaiplatform.endpoints.getaiplatform.models.predict