dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

Vertex AI のマルチモーダルエンベディング

2024-09-23 23:03:35 | BigQuery

Vertex AI のマルチモーダルエンベディングの実行例のメモ。

画像のエンベディング

概要

  • 外部接続の作成
  • 権限設定
  • Cloud Storage への画像ファイルのアップロード
  • オブジェクトテーブルの作成

外部接続の作成

  • GCP メニューの「BigQuery」を選択。
  • 「+追加」をクリック。
  • 「外部データソースへの接続」を選択。
  • 接続タイプで「Vertex AI リモートモデル」を選択。
  • 「リージョン」:「asia-northeast1」を選択。
  • 「接続を作成」をクリック。

権限設定

外部接続の IAM に対して以下の権限を設定。

  • GCP メニューの「IAM と管理」を選択。
  • 「アクセス件を付与」をクリック。
  • 「新しいプリンシパル」に外部データへの接続で作成したユーザを指定し、以下の権限を設定。
    • Storage オブジェクト管理者
    • BigQuery connection Admin

Cloud Storage への画像ファイルのアップロード

$ gsutil cp *.jpg gs://{バケット}/{パス}/

オブジェクトテーブルを作成

以下を実行。

CREATE OR REPLACE EXTERNAL TABLE
  `{プロジェク}.{データセット}.{テーブル}`
WITH CONNECTION
  `{リージョン}.{接続ID}`
OPTIONS (
  object_metadata = 'SIMPLE',
  uris = ['gs://{バケット}/{パス}/*.jpg']
);

画像のエンベディング

select
  regexp_extract(uri, '/([0-9]+).jpg$') as id
  , ml_generate_embedding_result as image_vecctor
from
  ml.generate_embedding(
    model {データセット}.{テーブル},
    table {データセット}.{オブジェクトテーブル},
    struct(
      true as flatten_json_output,
      512 as output_dimensionality
    )
  )
;

この記事についてブログを書く
« 実行中のプロセスをバックグ... | トップ | jq による JSONL データから... »

BigQuery」カテゴリの最新記事