您可以使用支援的 Gemini Enterprise Agent Platform 多模態模型 multimodalembedding@001,在 PostgreSQL 適用的 AlloyDB 中生成多模態嵌入。
您可以使用「支援的模型」中提及的 Agent Platform 多模態嵌入模型。
本頁面假設您熟悉 AlloyDB for PostgreSQL 和生成式 AI 概念。詳情請參閱「什麼是嵌入內容」。
事前準備
使用多模態嵌入功能前,請先完成下列步驟:
- 確認已安裝
google_ml_integration擴充功能。 - 確認
google_ml_integration.enable_model_support旗標已設為on。 - 與 Agent Platform 整合。
- 存取 Cloud Storage 中的資料,產生多模態嵌入內容。
與 Agent Platform 整合並安裝擴充功能
- 設定 Agent Platform 模型的使用者存取權。
- 確認已安裝最新版
google_ml_integration。如要檢查已安裝的版本,請執行下列指令:
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration'; extversion ------------ 1.5.2 (1 row)
如果尚未安裝擴充功能,或安裝的版本低於 1.5.2,請更新擴充功能。
CREATE EXTENSION IF NOT EXISTS google_ml_integration; ALTER EXTENSION google_ml_integration UPDATE;
如果在執行上述指令時發生問題,或執行上述指令後,擴充功能未更新至 1.5.2 版,請聯絡Google Cloud 支援團隊。
如要使用 AlloyDB AI 查詢引擎功能,請將
google_ml_integration.enable_ai_query_engine旗標設為on。SQL
- 為目前的工作階段啟用 AI 查詢引擎。
SET google_ml_integration.enable_ai_query_engine = on;
- 跨工作階段為特定資料庫啟用功能。
ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_ai_query_engine = 'on';
- 為特定使用者啟用 AI 查詢引擎,適用於所有工作階段和資料庫。
ALTER ROLE postgres SET google_ml_integration.enable_ai_query_engine = 'on';
控制台
如要修改
google_ml_integration.enable_ai_query_engine旗標的值,請按照「設定執行個體的資料庫旗標」一文中的步驟操作。gcloud
如要使用 gcloud CLI,可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
您可以修改
google_ml_integration.enable_ai_query_engine旗標的值。 詳情請參閱「設定執行個體的資料庫旗標」。gcloud alloydb instances update INSTANCE_ID \ --database-flags google_ml_integration.enable_ai_query_engine=on \ --region=REGION_ID \ --cluster=CLUSTER_ID \ --project=PROJECT_ID
- 為目前的工作階段啟用 AI 查詢引擎。
存取 Cloud Storage 中的資料,產生多模態嵌入內容
- 如要生成多模態嵌入,請使用
gs://URI 參照 Cloud Storage 中的內容。 - 透過目前專案的 Agent Platform 服務代理人存取 Cloud Storage 內容。根據預設,Agent Platform 服務代理已具備存取同一專案中值區的權限。詳情請參閱「IAM 角色和權限索引」。
如要存取其他專案中 Cloud Storage bucket 的資料,請執行下列 gcloud CLI 指令,將儲存空間物件檢視者角色 (
roles/storage.objectViewer) 授予 AlloyDB 專案的 Agent Platform 服務代理程式。 Google Cloudgcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \ --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"詳情請參閱「在 bucket 上設定及管理 IAM 政策」。
如要生成多模態嵌入,請選取下列其中一個結構定義。
生成多模態嵌入
如要為 multimodalembedding@001 模型端點生成文字嵌入,請執行下列陳述式:
SELECT
ai.text_embedding(
model_id => 'multimodalembedding@001',
content => 'TEXT');
將 TEXT 替換為要生成嵌入的文字。
如要為已註冊的 multimodalembedding@001 模型端點生成圖片嵌入,且圖片 MIME 類型為預設 image/jpeg,請執行下列陳述式:
SELECT
ai.image_embedding(
model_id => 'multimodalembedding@001',
image => 'IMAGE_PATH_OR_TEXT',
mimetype => MIMETYPE');
更改下列內容:
IMAGE_PATH_OR_TEXT,例如gs://my-bucket/embeddings/flowers.jpeg,或是圖片的 base64 字串。- 將
MIMETYPE替換為圖片的 MIME 類型,例如image/jpeg。如需支援的完整 MIME 類型清單,請參閱多模態嵌入 API。
如要為已註冊的 multimodalembedding@001 模型端點生成影片嵌入,請執行下列陳述式:
SELECT
ai.video_embedding(
model_id => 'multimodalembedding@001',
video => 'VIDEO_URI');
將 VIDEO_URI 替換為目標影片的 Cloud Storage URI,例如 gs://my-bucket/embeddings/supermarket-video.mp4,或是影片的 Base64 字串。
這些是二維陣列,可做為 my_array[0][5] 類語法存取。
詳情請參閱「陣列」。