将 Cloud SQL 与 Vertex AI 集成

本页面介绍了如何将 Cloud SQL 与 Vertex AI 集成。

借助此集成,您可以将托管在 Vertex AI 中的大语言模型 (LLM) 应用于 Cloud SQL for PostgreSQL 数据库版本 12 及更高版本。

通过将 Cloud SQL 与 Vertex AI 集成,您可以将机器学习 (ML) 模型的语义和预测能力应用于您的数据。此集成通过用于查询模型的两个函数扩展 SQL 语法:

  • 调用预测以在事务中使用 SQL 调用模型。

  • 生成嵌入以使嵌入模型将文本提示转换为数值向量。然后,您可以将这些向量嵌入作为输入应用于 vector 函数。这包括根据文本样本的相对语义距离对其进行比较和排序的方法。

因此,您可以直接在数据库中进行实时预测并获得有价值的数据洞见,从而简化工作流并增强决策制定能力。

如需详细了解 Vertex AI,请参阅 Vertex AI 简介

准备工作

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 启用必要的 Google Cloud API。

    控制台

    1. 进入 API 和服务页面
    2. 从项目列表中,选择一个项目。
    3. 如果 API 库未打开,请从导航菜单中选择
    4. 点击您要启用的 API。在此过程中,请启用以下功能:

      • Cloud SQL Admin API
      • Vertex AI API
      • Compute Engine API
    5. 选择每个 API 后,点击启用

    gcloud

    1. 打开 Cloud Shell,以直接在浏览器中通过命令行访问您的 Google Cloud 资源。
    2. 如需启用所需的 API,请使用 gcloud services enable 命令:
      gcloud services enable sqladmin.googleapis.com \
        aiplatform.googleapis.com \
        compute.googleapis.com
      
    3. 此命令会启用以下 API:
      • Cloud SQL Admin API
      • Vertex AI API
      • Compute Engine API

  4. 授予 Cloud SQL 服务账号访问 Vertex AI 的 Identity and Access Management (IAM) 权限。
  5. gcloud

    如需为 Cloud SQL 服务账号添加 Cloud SQL 实例所在项目的 Vertex AI 权限,请创建具有最低必需权限的自定义 IAM 角色,然后将该角色授予服务账号。

    1. 如需创建具有 aiplatform.endpoints.predict 权限的自定义角色,请使用 gcloud iam roles create 命令:
      gcloud iam roles create ROLE_NAME \
        --project=PROJECT_ID \
        --title="Cloud SQL Vertex AI Predictor" \
        --description="Allows Cloud SQL to invoke Vertex AI predictions" \
        --permissions="aiplatform.endpoints.predict"
      
    2. 如需向 Cloud SQL 服务账号授予自定义角色,请使用 gcloud projects add-iam-policy-binding 命令:
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
        --role="projects/PROJECT_ID/roles/ROLE_NAME"
      
    进行以下替换:
    • ROLE_NAME:要创建的自定义 IAM 角色的名称,例如 CloudSQLMLPredictor
    • PROJECT_ID:具有 Vertex AI 端点的项目的 ID。Cloud SQL 使用此端点来访问 Vertex AI 中托管的 LLM。
    • SERVICE_ACCOUNT_EMAIL:Cloud SQL 服务账号的电子邮件地址。

      如需查找此电子邮件地址,请使用 gcloud sql instances describe 命令:

      gcloud sql instances describe INSTANCE_NAME | grep EmailAddress
      

      INSTANCE_NAME 替换为 Cloud SQL 实例的名称。

启用数据库与 Vertex AI 的集成

如需启用数据库与 Vertex AI 的集成,请完成以下步骤:

  1. 创建或更新 Cloud SQL 实例,使该实例可以与 Vertex AI 集成。

    gcloud

    创建实例

    如需创建 Cloud SQL 实例,请使用 gcloud sql instances create 命令。

    gcloud sql instances create INSTANCE_NAME \
    --database-version=DATABASE_VERSION \
    --tier=MACHINE_TYPE \
    --region=REGION_NAME \
    --enable-google-ml-integration \
    --database-flags cloudsql.enable_google_ml_integration=on

    进行以下替换:

    • INSTANCE_NAME:实例的名称
    • DATABASE_VERSION:实例的数据库版本(例如 POSTGRES_13
    • MACHINE_TYPE:实例的机器类型
    • REGION_NAME:实例的区域名称

    更新实例

    如需更新实例,请使用 gcloud sql instances patch 命令。

    gcloud sql instances patch INSTANCE_NAME \
    --enable-google-ml-integration \
    --database-flags cloudsql.enable_google_ml_integration=on

    如果此更新修改的值需要重启实例,系统会提示您继续进行更改或取消操作。

    REST v1

    创建实例

    使用此示例创建实例。如需查看此调用的完整参数列表,请参阅 instances:insert 页面。如需了解实例设置,包括有效区域值,请参阅