온라인 스토어 인스턴스 만들기

온라인 서빙을 설정하려면 먼저 Bigtable 온라인 서빙이나 최적화된 온라인 서빙을 위한 온라인 상점 인스턴스를 만들어야 합니다.

온라인 상점을 만드는 동안에는 Bigtable 온라인 서빙이나 최적화된 온라인 서빙을 선택한 후에 온라인 서빙 유형을 변경할 수 없습니다. 그러나 최적화된 온라인 서빙을 위해 생성된 온라인 스토어 인스턴스의 서빙 엔드포인트 구성을 변경할 수 있습니다.

온라인 스토어를 만든 후에는 특성 뷰를 추가하고 이러한 특성 뷰를 BigQuery의 특성 데이터 소스와 연결할 수 있습니다.

온라인 스토어의 임베딩 관리 구성

Vertex AI Feature Store를 사용하면 온라인 스토어 내 특성 뷰에 임베딩을 사용하여 벡터 유사성 검색을 수행할 수 있습니다. 벡터 유사성 검색을 수행하려면 FeatureOnlineStore.embedding_management 매개변수를 사용하여 임베딩 관리를 지원하도록 온라인 스토어 인스턴스를 구성한 다음 온라인 스토어 내에서 하나 이상의 특성 뷰에 대한 벡터 검색을 구성해야 합니다.

Vertex AI Feature Store에서 임베딩을 사용하여 대략적으로 가장 가까운 인접 항목을 검색하는 방법은 임베딩을 사용하여 검색을 참조하세요.

Bigtable 온라인 서빙을 위한 온라인 스토어 만들기

다음 샘플을 사용하여 자동 확장을 지원하는 Bigtable 온라인 서빙을 위한 온라인 상점 인스턴스를 만듭니다.

Console

다음 안내에 따라 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: 새 온라인 스토어 인스턴스의 이름입니다.
  • BOOLEAN(선택사항): 임베딩 관리를 지원하는 온라인 스토어를 만들려면 true를 입력합니다. 기본값은 false입니다.

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
    }
  }
  "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/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"
    }
  }
}

최적화된 온라인 서빙을 위한 온라인 상점 만들기

최적화된 온라인 서빙을 사용하는 경우 공개 엔드포인트나 전용 Private Service Connect 엔드포인트에서 특성을 제공하도록 온라인 상점을 구성할 수 있습니다. 지연 시간이 공개 엔드포인트보다 짧은 VPC 네트워크 내에서 특성을 제공하려면 Private Service Connect 엔드포인트를 사용합니다.

공개 엔드포인트로 최적화된 온라인 서빙을 위한 온라인 스토어 만들기

다음 샘플을 사용하여 공개 엔드포인트로 최적화된 온라인 서빙을 위한 온라인 스토어를 만듭니다.

웹 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/v1/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/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"
    }
  }
}

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/v1/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/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"
    }
  }
}

다음 단계