Skip to content

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 项目

  1. 登录 Google Cloud Console
  2. 创建新项目或选择现有项目
  3. 记录项目 ID

2. 启用 Vertex AI API

bash
gcloud services enable aiplatform.googleapis.com --project=your-project-id

3. 设置认证

方法 A: 服务账户

  1. 创建服务账户
  2. 授予 roles/aiplatform.user 角色
  3. 下载 JSON 密钥文件
  4. 配置环境变量

方法 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 - 亚洲(东京)

故障排除

常见错误

  1. Permission Denied: 检查 IAM 权限
  2. Model Not Found: 验证模型名称和区域
  3. Quota Exceeded: 检查配额限制
  4. Invalid Argument: 验证参数格式
  5. Unauthenticated: 检查认证配置

调试步骤

  1. 验证 GCP 凭证
  2. 检查项目 ID 和区域
  3. 确认 API 已启用
  4. 查看日志文件
  5. 验证 IAM 权限

最佳实践

1. 认证管理

  • 使用服务账户而非用户凭证
  • 定期轮换密钥
  • 使用环境变量存储敏感信息
  • 限制服务账户权限

2. 性能优化

  • 选择最近的区域
  • 使用合适的模型
  • 设置合理的超时时间
  • 实施请求缓存

3. 成本控制

  • 监控 API 使用量
  • 设置预算提醒
  • 选择合适的模型
  • 使用配额管理

4. 安全性

  • 限制 API 访问
  • 启用审计日志
  • 使用 VPC 服务控制
  • 实施数据加密

IAM 权限

确保服务账户具有以下权限:

json
{
  "role": "roles/aiplatform.user",
  "members": ["serviceAccount:your-sa@project.iam.gserviceaccount.com"]
}

或自定义权限:

  • aiplatform.endpoints.predict
  • aiplatform.endpoints.get
  • aiplatform.models.predict