安装 AlloyDB Omni with AlloyDB AI

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

AlloyDB AI 是 AlloyDB Omni 附带的一套功能,可让您构建企业生成式 AI 应用。如需详细了解 AlloyDB 的 ML 功能,请参阅构建生成式 AI 应用

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

根据您要将 AlloyDB Omni with AlloyDB AI 安装在何处,选择以下选项之一:

配置 AlloyDB Omni 实例以查询远程模型

如需配置 AlloyDB Omni 以查询远程模型,请按以下步骤操作:

  1. 使用 Google Cloud创建服务账号

  2. 创建 JSON 格式的服务账号密钥并下载该密钥。

  3. 将密钥存储在文件系统中的永久位置。它会在 AlloyDB Omni 服务器的整个生命周期内保留在此位置。

    记下该文件在文件系统中的位置,您需要在下一步中使用它。

  4. 向相应的项目和服务账号添加 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

安装 AlloyDB Omni with AlloyDB AI

如需安装 AlloyDB Omni 并集成 AlloyDB AI,请按以下步骤操作:

  1. 确保您已完成配置 AlloyDB Omni 以查询基于云的模型中列出的所有步骤。

  2. 创建默认 AlloyDB Omni 配置文件的本地副本:

       docker run -i --rm google/alloydbomni:15.5.4 cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf
  3. 修改配置文件副本,添加 AlloyDB AI 集成指令:

       echo "omni_enable_ml_agent_process = 'on'" >> my-postgres.conf
       echo "omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'" >> my-postgres.conf
  4. 调整密钥和配置文件的文件系统权限:

       sudo chmod +r my-postgres.conf
       sudo chmod +r KEY_PATH

    KEY_PATH 替换为主机文件系统中服务账号私钥文件的路径。 这是您在此过程中之前创建并下载的密钥。

  5. 将安装到容器上的密钥和配置文件安装到容器上:

       docker run --name CONTAINER_NAME -e POSTGRES_PASSWORD=NEW_PASSWORD -p HOST_PORT:5432 -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf -v "FULL_KEY_PATH":/etc/postgresql/private-key.json -d google/alloydbomni:15.5.4 -c 'config_file=/etc/postgresql/postgresql.conf'

    替换以下内容:

    • CONTAINER_NAME:在主机的容器注册表中为此新的简化版 AlloyDB Omni 安装方法容器分配的名称,例如 my-omni-1

    • NEW_PASSWORD:为新容器的 postgres 用户在创建后分配的密码。

    • HOST_PORT:容器应将自己的端口 5432 发布到的宿主机上的 TCP 端口。如需在主机上也使用 PostgreSQL 默认端口,请指定 5432

    • FULL_KEY_PATH:主机系统上服务账号私钥文件的完整文件系统路径。

验证安装了 AlloyDB AI 的 AlloyDB Omni

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

   CREATE EXTENSION google_ml_integration CASCADE;

   SELECT array_dims(embedding( 'textembedding-gecko@001', 'AlloyDB AI')::real[]);
   array_dims

输出类似于以下内容:

    [1:768]
    (1 row)

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

后续步骤