本页面介绍了如何将 Cloud SQL 与 Vertex AI 集成。
借助此集成,您可以将托管在 Vertex AI 中的大语言模型 (LLM) 应用于 Cloud SQL for PostgreSQL 数据库版本 12 及更高版本。
通过将 Cloud SQL 与 Vertex AI 集成,您可以将机器学习 (ML) 模型的语义和预测能力应用于您的数据。此集成通过用于查询模型的两个函数扩展 SQL 语法:
调用预测以在事务中使用 SQL 调用模型。
生成嵌入以使嵌入模型将文本提示转换为数值向量。然后,您可以将这些向量嵌入作为输入应用于
vector函数。这包括根据文本样本的相对语义距离对其进行比较和排序的方法。
因此,您可以直接在数据库中进行实时预测并获得有价值的数据洞见,从而简化工作流并增强决策制定能力。
如需详细了解 Vertex AI,请参阅 Vertex AI 简介。
准备工作
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 启用必要的 Google Cloud API。
控制台
- 进入 API 和服务页面。
- 从项目列表中,选择一个项目。
- 如果 API 库未打开,请从导航菜单中选择库。
点击您要启用的 API。在此过程中,请启用以下功能:
- Cloud SQL Admin API
- Vertex AI API
- Compute Engine API
- 选择每个 API 后,点击启用。
gcloud
- 打开 Cloud Shell,以直接在浏览器中通过命令行访问您的 Google Cloud 资源。
- 如需启用所需的 API,请使用
gcloud services enable命令:gcloud services enable sqladmin.googleapis.com \ aiplatform.googleapis.com \ compute.googleapis.com
此命令会启用以下 API:
- Cloud SQL Admin API
- Vertex AI API
- Compute Engine API
- 授予 Cloud SQL 服务账号访问 Vertex AI 的 Identity and Access Management (IAM) 权限。
- 如需创建具有
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"
- 如需向 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 实例的名称。
gcloud
如需为 Cloud SQL 服务账号添加 Cloud SQL 实例所在项目的 Vertex AI 权限,请创建具有最低必需权限的自定义 IAM 角色,然后将该角色授予服务账号。
启用数据库与 Vertex AI 的集成
如需启用数据库与 Vertex AI 的集成,请完成以下步骤:
- 创建或更新 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 页面。如需了解实例设置,包括有效区域值,请参阅