安裝 AlloyDB Omni with AlloyDB AI

選取說明文件版本:

本頁說明如何安裝 AlloyDB Omni,並整合 AlloyDB AI。

AlloyDB AI 是 AlloyDB Omni 內含的一系列功能,可讓您建構企業生成式 AI 應用程式。如要進一步瞭解 AlloyDB 的 ML 功能,請參閱「建構生成式 AI 應用程式」。

AlloyDB Omni 搭配 AlloyDB AI 可讓您查詢遠端 ML 模型,並使用 ML 模型產生的線上預測和文字嵌入。如果您使用 google_ml.predict_row 介面,並在查詢中自行翻譯,AlloyDB Omni 搭配 AlloyDB AI 也能處理其他內容 (例如圖片) 的向量嵌入。

根據您要安裝 AlloyDB Omni 和 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

       docker run -i --rm google/alloydbomni:15.5.5 cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf

    Podman

       podman run -i --rm google/alloydbomni:15.5.5 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

      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.5 -c 'config_file=/etc/postgresql/postgresql.conf'

    更改下列內容:

    • CONTAINER_NAME:在主機的容器登錄檔中,為這個新的簡化 AlloyDB Omni 安裝方法容器指派的名稱,例如 my-omni-1

    • NEW_PASSWORD:新容器建立後,系統會為 postgres 使用者指派密碼。

    • HOST_PORT:* HOST_PORT:主機上的 TCP 通訊埠,容器會將通訊埠 5432 發布至該通訊埠。如要在主機上使用 PostgreSQL 預設通訊埠,請指定 5432

    • FULL_KEY_PATH:主機系統上服務帳戶私密金鑰檔案的完整檔案系統路徑。

    Podman

      podman 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.5 -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]

後續步驟