本頁說明如何安裝 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 查詢遠端模型,請按照下列步驟操作:
使用 Google Cloud建立服務帳戶。
建立服務帳戶金鑰 (JSON 格式),然後下載。
將金鑰儲存在檔案系統的永久位置。在 AlloyDB Omni 伺服器的生命週期內,該檔案都會位於這個位置。
記下檔案在檔案系統中的位置,下一個步驟會用到。
為適當的專案和服務帳戶新增 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,請按照下列步驟操作:
請確認您已完成「設定 AlloyDB Omni,以便查詢雲端模型」中列出的所有步驟。
建立預設 AlloyDB Omni 設定檔的本機副本:
docker run -i --rm google/alloydbomni:15.5.4 cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf
編輯設定檔副本,加入 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
調整金鑰和設定檔的檔案系統權限:
sudo chmod +r my-postgres.conf
sudo chmod +r KEY_PATH
將
KEY_PATH
換成主機檔案系統中服務帳戶私密金鑰檔案的路徑。 這是您在本程序中稍早建立及下載的金鑰。安裝掛接至容器的金鑰和設定檔:
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]
。