온라인 제공을 사용하면 짧은 지연 시간으로 소규모 항목 일괄 처리에 대해 특성 값을 제공할 수 있습니다. 각 요청에 대해 단일 항목 유형의 특성 값만 제공할 수 있습니다. Vertex AI Feature Store(기존)는 각 특성의 null이 아닌 최신 값만 반환합니다.
일반적으로 온라인 서빙을 사용하여 온라인 예측을 위해 배포된 모델에 특성 값을 제공합니다. 자전거 공유 회사에서 특정 사용자가 자전거를 대여할 기간을 예측하려는 경우를 예로 들겠습니다. 이 경우 사용자의 실시간 입력과 피처스토어의 데이터를 포함하여 온라인 예측을 수행할 수 있습니다. 이렇게 하면 실시간으로 리소스 할당을 결정할 수 있습니다.
Null 값
온라인 서빙 결과에서 특성의 최신 값이 null이면 Vertex AI Feature Store(기존)는 null이 아닌 최신 값을 반환합니다. 이전 값이 없으면 Vertex AI Feature Store(기존)는 null을 반환합니다.
시작하기 전에
호출을 수행하는 피처스토어에 온라인 스토리지가 있는지 확인합니다(노드 수가 0
보다 커야 함). 그렇지 않으면 온라인 제공 요청이 오류를 반환합니다. 자세한 내용은 피처스토어 관리를 참조하세요.
단일 항목에서 값 제공
특정 항목 유형의 단일 항목에서 특성 값을 제공합니다.
REST
항목에서 특성 값을 가져오려면 featurestores.entityTypes.readFeatureValues 메서드를 사용하여 POST 요청을 전송하세요.
다음 샘플은 특정 항목에 대한 각기 다른 두 특성의 최신 값을 가져옵니다. ids
필드에 특성 ID 대신 ["*"]
를 지정하여 항목의 모든 특성을 선택할 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION_ID: 피처스토어가 생성되는 리전. 예를 들면
us-central1
입니다. - PROJECT_ID: 프로젝트 ID
- FEATURESTORE_ID: 피처스토어의 ID
- ENTITY_TYPE_ID: 항목 유형의 ID입니다.
- ENTITY_ID: 특성 값을 가져올 항목의 ID입니다.
- FEATURE_ID: 값을 가져올 특성의 ID입니다.
HTTP 메서드 및 URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues
JSON 요청 본문:
{ "entityId": "ENTITY_ID", "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] }, "entityView": { "entityId": "ENTITY_ID", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_1", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_2", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
여러 항목에서 값 제공
특정 항목 유형에 대한 하나 이상의 항목의 특성 값을 제공합니다.
성능 향상을 위해 동시 요청을 readFeatureValues
메서드로 보내는 대신 streamingReadFeatureValues
메서드를 사용합니다.
REST
여러 항목에서 특성 값을 가져오려면 featurestores.entityTypes.streamingReadFeatureValues 메서드를 사용하여 POST 요청을 전송하세요.
다음 샘플은 두 가지 항목에 대한 두 가지 특성의 최신 값을 가져옵니다. ids
필드에 특성 ID 대신 ["*"]
를 지정하여 항목의 모든 특성을 선택할 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION_ID: 피처스토어가 생성되는 리전. 예를 들면
us-central1
입니다. - PROJECT_ID: 프로젝트 ID
- FEATURESTORE_ID: 피처스토어의 ID
- ENTITY_TYPE_ID: 항목 유형의 ID입니다.
- ENTITY_ID: 특성 값을 가져올 항목의 ID입니다.
- FEATURE_ID: 값을 가져올 특성의 ID입니다.
HTTP 메서드 및 URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues
JSON 요청 본문:
{ "entityIds": ["ENTITY_ID_1", "ENTITY_ID_2"], "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
[{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] } }, { "entityView": { "entityId": "ENTITY_ID_1", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_A", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_B", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }, { "entityView": { "entityId": "ENTITY_ID_2", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_C", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_D", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } } ] } }]
추가 언어
다음 Vertex AI 클라이언트 라이브러리를 설치하고 사용하여 Vertex AI API를 호출할 수 있습니다. Cloud 클라이언트 라이브러리는 지원되는 각 언어의 고유한 규칙 및 스타일을 사용하여 최적화된 개발자 환경을 제공합니다.
다음 단계
- 특성 값 일괄 수집 방법 알아보기
- 일괄 서빙을 통해 특성을 제공하는 방법 알아보기
- Vertex AI Feature Store(기존) 온라인 서빙 할당량 보기
- 일반적인 Vertex AI Feature Store(기존) 문제 해결