オンライン ストア インスタンスを作成する

オンライン サービングを設定するには、まず Bigtable オンライン サービングまたは最適化されたオンライン サービング(プレビュー)用のオンライン ストア インスタンスを作成する必要があります。

最適化されたオンライン サービングを使用する場合、パブリック エンドポイントまたは専用の Private Service Connect エンドポイントのいずれかから特徴を提供するようにオンライン ストアを構成できます。VPC ネットワーク内でパブリック エンドポイントよりも低いレイテンシで特徴を提供する場合は、Private Service Connect エンドポイントを使用します。

オンライン ストアの作成中に Bigtable オンライン サービングまたは最適化されたオンライン サービングを選択した後に、オンライン サービングの種類を変更することはできません。ただし、最適化されたオンライン サービング用に作成されたオンライン ストア インスタンスのサービス エンドポイントの構成は変更できます。

オンライン ストアを作成したら、特徴ビューを追加し、それらの特徴ビューを BigQuery の特徴データソースに関連付けることができます。

オンライン ストアのエンベディング管理を構成する

Vertex AI Feature Store を使用すると、オンライン ストア内の特徴ビューにエンベディングを使用してベクトル類似度検索を実行できます。ベクトル類似性検索を実行するには、FeatureOnlineStore.embedding_management パラメータを使用して、オンライン ストア インスタンスがエンベディング管理をサポートするよう構成してから、オンライン ストア内の少なくとも 1 つの特徴ビューに対するベクトル取得を構成します

Vertex AI Feature Store でエンベディングを使用して近似最近傍を検索する方法については、エンベディングを使用した検索をご覧ください。

Bigtable オンライン サービング用のオンライン ストアを作成する

自動スケーリングを使用して、Bigtable オンライン サービング用のオンライン ストア インスタンスを作成するには、次のサンプルを使用してください。

コンソール

Google Cloud コンソールで Bigtable オンライン サービング用のオンライン ストアを作成するには、次の操作を行います。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。

    [Feature Store] ページに移動

  2. [オンライン ストア] をクリックして、[オンライン ストア] セクションに移動します。

  3. [作成] をクリックして [オンライン ストアを作成] ページを開きます。

  4. オンライン ストアの名前を指定します。

  5. 省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。オンライン ストアには複数のラベルを追加できます。

  6. [オンライン ショップ用のストレージ ソリューションの選択] フィールドで、[Bigtable] をクリックします。

  7. 最小ノード数最大ノード数CPU 使用率の目標値を必要に応じて変更します。

  8. [作成] をクリックします。

REST

FeatureOnlineStore リソースを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: オンライン ストアを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しいオンライン ストア インスタンスの名前。

HTTP メソッドと URL:

POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

リクエストの本文(JSON):

{
  "bigtable": {
    "auto_scaling": {
      "min_node_count": 1,
      "max_node_count": 3,
      "cpu_utilization_target": 50
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

Bigtable オンライン サービング用にエンベディング管理を使用してオンライン ストアを作成する

次のサンプルを使用して、エンベディング管理を使用した Bigtable オンライン サービング用のオンライン ストア インスタンスを作成します。

REST

FeatureOnlineStore リソースを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: オンライン ストアを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しいオンライン ストア インスタンスの名前。
  • BOOLEAN:(省略可)エンベディング管理をサポートするオンライン ストアを作成するには、「true」と入力します。デフォルト値は false です。

HTTP メソッドと URL:

POST http://LOCATION_ID-aiplatform.googleapis.com/v11/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

リクエストの本文(JSON):

{
  "bigtable": {
    "auto_scaling": {
      "min_node_count": 1,
      "max_node_count": 3,
      "cpu_utilization_target": 50
    }
  }
  "embedding_management": {
    "enabled": BOOLEAN
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION_ID-aiplatform.googleapis.com/v11/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION_ID-aiplatform.googleapis.com/v11/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

最適化されたオンライン サービング用にパブリック エンドポイントを使用してオンライン ストアを作成する

次のサンプルでは、最適化されたオンライン サービング用にパブリック エンドポイントを使用してオンライン ストアを作成します。

ウェブ UI

Google Cloud コンソールで最適化されたオンライン サービング用のオンライン ストアを作成するには、次の操作を行います。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。

    [Feature Store] ページに移動

  2. [オンライン ストア] をクリックして、[オンライン ストア] セクションに移動します。

  3. [作成] をクリックして [オンライン ストアを作成] ページを開きます。

  4. オンライン ストアの名前を指定します。

  5. 省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。オンライン ストアには複数のラベルを追加できます。

  6. [オンライン ショップ用のストレージ ソリューションの選択] フィールドで、[最適化] をクリックします。

  7. [作成] をクリックします。

REST

オンライン ストア インスタンスを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: FeatureOnlineStore インスタンスを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しい FeatureOnlineStore インスタンスの名前。

HTTP メソッドと URL:

POST http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

リクエストの本文(JSON):

{
  "optimized": {}
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

最適化されたオンライン サービング用に Private Service Connect エンドポイントを使用してオンライン ストアを作成する

次のサンプルでは、最適化されたオンライン サービング用に Private Service Connect を使用してオンライン ストアを作成します。

REST

オンライン ストア インスタンスを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: FeatureOnlineStore インスタンスを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しい FeatureOnlineStore インスタンスの名前。

HTTP メソッドと URL:

POST http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

リクエストの本文(JSON):

{
  "optimized": {},
  "dedicated_serving_endpoint": {
    "private_service_connect_config": {
      "enable_private_service_connect": true,
      "project_allowlist": ["PROJECT_NAME"]
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

次のステップ