安装具有 AlloyDB AI 的 AlloyDB Omni

选择文档版本:

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

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

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

根据您要在其中安装具有 AlloyDB AI 的 AlloyDB Omni 的位置,选择以下选项之一:

配置 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 AI 的 AlloyDB Omni

如需安装 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:宿主机上的 TCP 端口,容器应将自己的端口 5432 发布到该端口。如需在宿主机上使用 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]

后续步骤