특성 만들기

특성 그룹을 만들고 여기에 BigQuery 테이블 또는 BigQuery 뷰를 연결한 후 특성을 만들 수 있습니다. 특성 그룹에 대해 여러 특성을 만들고 BigQuery 데이터 소스의 특정 열에 각 특성을 연결할 수 있습니다. BigQuery 사용 방법에 대한 자세한 내용은 BigQuery 문서를 참조하세요.

예를 들어 featuregroup1 특성 그룹이 fval1fval2 열의 특성 값을 포함하는 datasource_1 BigQuery 테이블과 연결된 경우 featuregroup1 아래에 feature_1 특성을 만들고 이를 fval1 열의 특성 값과 연결할 수 있습니다. 마찬가지로 feature_2라는 또 다른 특성을 만들고 이를 fval2 열의 특성 값과 연결할 수 있습니다.

특성 그룹과 특성을 사용하여 데이터 소스를 등록하면 다음과 같은 이점이 있습니다.

  • 여러 BigQuery 데이터 소스의 특정 특성 열을 사용하여 온라인 서빙을 위한 특성 뷰를 정의할 수 있습니다.

  • feature_timestamp 열을 포함하여 데이터 형식을 시계열로 지정할 수 있습니다. Vertex AI Feature Store는 특성 데이터의 최신 특성 값만 서빙하며 이전 값은 제외합니다.

  • Data Catalog에서 특성 리소스를 검색할 때 BigQuery 소스를 연결된 특성 데이터 소스로 검색할 수 있습니다.

시작하기 전에

아직 Vertex AI에 인증하지 않았다면 인증을 진행합니다.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.

REST

로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

특성 그룹 내에서 특성 만들기

다음 샘플을 사용하여 특성 그룹 내에 특성을 만들고 이 특성 그룹에 대해 등록된 BigQuery 데이터 소스의 특성 값이 포함된 열을 연결합니다.

콘솔

다음 안내에 따라 Google Cloud 콘솔을 사용하여 기존 특성 그룹에 특성을 추가합니다.

  1. Google Cloud 콘솔의 Vertex AI 섹션에서 Feature Store 페이지로 이동합니다.

    Feature Store 페이지로 이동

  2. 특성 그룹 섹션에서 특성을 추가하려는 특성 그룹에 해당하는 행에 있는 를 클릭한 후 특성 추가를 클릭합니다.

  3. 각 특성에 대해 특성 이름을 입력하고 목록에서 해당 BigQuery 소스 열 이름을 클릭합니다. 더 많은 특성을 추가하려면 다른 특성 추가를 클릭합니다.

  4. 만들기를 클릭합니다.

Python

Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_feature_sample(
    project: str,
    location: str,
    existing_feature_group_id: str,
    feature_id: str,
    version_column_name: str,
):
    aiplatform.init(project=project, location=location)
    feature_group = feature_store.FeatureGroup(existing_feature_group_id)
    feature = feature_group.create_feature(
        name=feature_id, version_column_name=version_column_name
    )
    return feature

  • project: 프로젝트 ID입니다.
  • location: 특성 그룹이 있는 리전(예: us-central1)
  • existing_feature_group_id: 특성을 만들 기존 특성 그룹의 이름
  • version_column_name(선택사항): 특성과 연결할 BigQuery 테이블 또는 뷰의 열. 이 매개변수를 지정하지 않으면 기본적으로 FEATURE_NAME으로 설정됩니다.
  • feature_id: 만들려는 새 특성의 이름

REST

Feature 리소스를 만들려면 features.create 메서드를 사용해서 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: 특성 그룹이 있는 리전(예: us-central1)
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREGROUP_NAME: 특성을 만들 특성 그룹의 이름
  • FEATURE_NAME: 만들려는 새 특성의 이름
  • VERSION_COLUMN_NAME(선택사항): 특성과 연결할 BigQuery 테이블 또는 뷰의 열. 이 매개변수를 지정하지 않으면 기본적으로 FEATURE_NAME으로 설정됩니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME

JSON 요청 본문:

{
  "version_column_name": "VERSION_COLUMN_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 \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_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 "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features/FEATURE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T02:36:22.870679Z",
      "updateTime": "2023-09-18T02:36:22.870679Z"
    }
  }
}

다음 단계