AlloyDB AI と AlloyDB Omni をインストールする

ドキュメントのバージョンを選択します。

このページでは、AlloyDB Omni をインストールして AlloyDB AI を統合する方法について説明します。

AlloyDB AI は、エンタープライズ生成 AI アプリケーションを構築できる AlloyDB Omni に含まれる一連の機能です。AlloyDB の AI/ML 機能の詳細については、 生成 AI アプリケーションを作成するをご覧ください。

AlloyDB Omni で AlloyDB AI を使用すると、google_ml_integration 拡張機能を使用してリモート ML モデルをクエリして、ML モデルから生成されたオンライン予測とテキスト エンベディングを操作できます。また、google_ml.predict_row インターフェースを使用してクエリ内で変換を行うなど、画像などの他のコンテンツからベクトル エンベディングを処理することもできます。

リモートモデルをクエリするように Google Cloud を設定する

Vertex AI モデルをクエリする場合は、AlloyDB Omni をインストールする前に、Vertex AI で AlloyDB Omni サービス アカウントを構成する必要があります。

リモートモデルをクエリするようにサービス アカウントを設定する手順は次のとおりです。

  1. サービス アカウントを作成するには、 Google Cloudを使用します。このサービス アカウントに Vertex AI へのアクセス権を付与する手順は後述します。

  2. サービス アカウント キーを作成し、 JSON 形式で private-key.json ファイルに保存してダウンロードします。

  3. 作成したサービス アカウント キーを KEY_PATH にコピーします。鍵のパスは、AlloyDB Omni を実行するユーザーがアクセスして所有できるホスト上のパスである必要があります。

  4. プロジェクトで Vertex AI API を有効にします。 Google Cloud

    gcloud services enable aiplatform.googleapis.com
    
  5. 適切なプロジェクトとサービス アカウントに 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: 手順 1 で作成したサービス アカウントの ID。これには、@PROJECT_ID.iam.gserviceaccount.com 接尾辞全体が含まれます例: my-service@my-project.iam.gserviceaccount.com

  1. AlloyDB Omni RPM パッケージをインストールします。

AlloyDB Omni 用に AlloyDB AI を構成する

AlloyDB Omni RPM パッケージをインストールしたら、次の手順で AlloyDB AI を統合します。

  1. リモートモデルをクエリするように 設定する Google Cloud に記載されているすべての手順を完了します

  2. サービス アカウント キーを AlloyDB Omni のデータ ディレクトリに移動します。

    sudo mv KEY_PATH DATA_DIR/private-key.json

    次の変数を置き換えます。

    • KEY_PATH: サービス アカウント キー ファイルのパス。
    • DATA_DIR: データが保存されているホスト ディレクトリ パス。
  3. サービス アカウント キーの所有者を postgres に設定し、権限を 600 に設定します。

    sudo chown postgres:postgres DATA_DIR/private-key.json
    sudo chmod 600 DATA_DIR/private-key.json
  4. postgresql.conf ファイルに次のオプションを追加して、AlloyDB Omni の構成を更新します。

    sudo tee -a DATA_DIR/postgresql.conf << EOF
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = 'DATA_DIR/private-key.json'
    EOF
  5. AlloyDB Omni サービスを再起動します。

    sudo systemctl restart alloydbomni18

psql を使用して接続

AlloyDB Omni データベースに接続するには、次のコマンドを実行します。

sudo -u postgres /usr/lib/postgresql/18/bin/psql -U postgres

AlloyDB AI のインストールで AlloyDB Omni を確認する

インストールが正常に完了し、モデル予測が使用されていることを確認するには、次のコマンドを入力します。

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

出力は次のようになります。

array_dims
------------
[1:768]
(1 row)

上のクエリでは、embedding() 呼び出しによって入力テキスト AlloyDB AI のエンベディングが生成されます。array_dims は、embedding() によって返される配列のディメンションを返します。text-embedding-005 モデルは 768 次元の出力を返すため、出力は [768] です。

次のステップ