安装具有 AlloyDB AI 的 AlloyDB Omni

选择文档版本:

本页面介绍了如何安装 AlloyDB Omni 并集成 AlloyDB AI。

AlloyDB AI 是 AlloyDB Omni 中包含的一套功能,可让您构建企业生成式 AI 应用。如需详细了解 AlloyDB 的 AI/机器学习功能,请参阅 构建生成式 AI 应用

借助具有 AlloyDB AI 的 AlloyDB Omni,您可以使用 google_ml_integration 扩展程序查询远程机器学习模型,以使用从机器学习模型生成的在线预测和文本嵌入。具有 AlloyDB AI 的 AlloyDB Omni 还可以处理来自其他内容(例如图片)的向量嵌入,例如,如果您使用 google_ml.predict_row 接口并自行在查询中进行转换。

设置以查询远程模型 Google Cloud

如果您想查询 Vertex AI 模型,必须先使用 Vertex AI 配置 AlloyDB Omni 服务帐号,然后再安装 AlloyDB Omni。

如需设置服务帐号以查询远程模型,请按照以下步骤操作:

  1. 创建服务账号,使用 Google Cloud。您将在后续步骤中向此服务帐号授予访问 Vertex AI 的权限。

  2. 创建服务帐号密钥,并 以 JSON 格式将其保存到 private-key.json 文件中,然后下载该文件。

  3. 将您创建的服务帐号密钥复制到 KEY_PATH。密钥路径应是主机上可访问且由运行 AlloyDB Omni 的用户拥有的路径。

  4. 在您的 Google Cloud 项目中启用 Vertex AI API。

    gcloud services enable aiplatform.googleapis.com
    
  5. 向相应的项目和服务账号添加 Vertex AI Identity and Access Management (IAM) 权限。

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_ID" \
        --role="roles/aiplatform.user"
    

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。

    • SERVICE_ACCOUNT_ID:您在第一步中创建的服务账号的 ID。其中包括完整的 @PROJECT_ID.iam.gserviceaccount.com 后缀。例如,my-service@my-project.iam.gserviceaccount.com

  1. 安装 AlloyDB Omni RPM 软件包。

为 AlloyDB Omni 配置 AlloyDB AI

安装 AlloyDB Omni RPM 软件包后,请完成以下步骤以集成 AlloyDB AI:

  1. 完成 设置 Google Cloud 以查询远程模型中列出的所有步骤。

  2. 将服务帐号密钥移至 AlloyDB Omni 的数据目录。

    sudo mv KEY_PATH DATA_DIR/private-key.json

    执行以下变量替换操作:

    • KEY_PATH:服务帐号密钥文件的路径。
    • DATA_DIR:存储数据的主机目录路径。
  3. 将服务帐号密钥的所有者设置为 postgres,并将权限设置为 600

    sudo chown postgres:postgres DATA_DIR/private-key.json
    sudo chmod 600 DATA_DIR/private-key.json
  4. 通过将以下选项添加到 postgresql.conf 文件来更新 AlloyDB Omni 配置:

    sudo tee -a DATA_DIR/postgresql.conf << EOF
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = 'DATA_DIR/private-key.json'
    EOF
  5. 重启 AlloyDB Omni 服务。

    sudo systemctl restart alloydbomni18

使用 psql 进行连接

如需连接到 AlloyDB Omni 数据库,请运行以下命令:

sudo -u postgres /usr/lib/postgresql/18/bin/psql -U postgres

验证具有 AlloyDB AI 的 AlloyDB Omni 安装

如需验证安装是否成功并使用模型预测,请输入以下内容:

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

输出类似于以下内容:

array_dims
------------
[1:768]
(1 row)

在上一个查询中,embedding() 调用会为输入文本 AlloyDB AI 生成嵌入。array_dims 会返回由 embedding() 返回的数组的维度。由于 text-embedding-005 模型返回具有 768 个维度的输出,因此输出为 [768]

后续步骤