서비스 학습 요청

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

서비스 타입이 batch인 서비스가 단회적 데이터셋 학습을 진행하도록 요청합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /services/{serviceId}

요청 헤더

AiTEMS API에서 공통으로 사용하는 헤더에 대한 정보는 AiTEMS 공통 헤더를 참조해 주십시오.

요청 경로 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
serviceId String Required 서비스 ID

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
types Array Required 학습 요청 타입
  • personalRecommend | relatedItem | pop
    • personalRecommend: 고객 서비스 이용자의 과거 이력을 바탕으로 개인별 추천
    • relatedItem: 아이템의 연관 이력을 바탕으로 개인별 추천
    • pop: 순위별 인기 아이템 추천
description String Optional 학습에 대한 설명
hpConfig Object Required HPO (Hyperparameter Optimization) 설정 정보
hpConfig.is_enabled Boolean Required HPO 설정 여부
  • true | false
    • true: HPO 설정. 최적의 훈련 모델 구현 가능.
    • false: HPO 설정 안 함. AiTEMS 내부의 자체 알고리즘으로 학습.
hpConfig.{option} String, Long, Boolean Optional 설정된 HPO 값
  • 값에 대한 세부 정보는 HPO 참조

HPO

설정 가능한 HPO 값에 대한 설명은 다음과 같습니다.

옵션명 타입 필수 여부 학습 타입 설명
session_max_timestamp Long Optional 개인화 추천, 연관 항목 추천 동일 세션으로 간주할 액션 간의 최대 유휴 시간(초)
  • 10~86,400 (기본값: 1,800)
  • 1,800 이상으로 설정할 것을 권장
item_top_n Long Optional 개인화 추천, 연관 항목 추천 추천에 활용할 최대 상품 개수
  • 인기순으로 활용
  • 1,000~500,000 (기본값: 20,000)
min_item_cut Long Optional 개인화 추천, 연관 항목 추천 상품 최소 등장 조건 횟수
  • 1~1,000 (기본값: 5)
min_session_length Long Optional 개인화 추천, 연관 항목 추천 세션 내 최소 액션 횟수
  • 2~1,000 (기본값: 2)
max_user_recommend_top Long Optional 개인화 추천 유저당 최대 추천 상품 개수
  • 1~1,000 (기본값: 100)
max_relate_recommend_top Long Optional 연관 항목 추천 상품당 최대 연관 항목 추천 상품 개수
  • 1~1,000 (기본값: 100)
remove_history_item Boolean Optional 개인화 추천, 연관 항목 추천 이전에 추천된 상품을 개인화 추천 목록에서 제거할지 여부
  • true | false (기본값)
    • true: 이전에 추천된 상품을 추천 목록에서 제거
    • false: 이전에 추천된 상품도 개인화 추천 목록에 포함
group_column Array Required 인기 항목 추천 인기 추출 그룹 컬럼 목록
  • USER_ID, ITEM_ID, TIMESTAMP 선택 불가
target_column String Optional 인기 항목 추천 인기 추출 대상 컬럼
  • USER_ID, ITEM_ID, TIMESTAMP 입력 불가
  • 최대 100개까지 입력 가능
max_group_recommend_top Long Optional 인기 항목 추천 그룹당 최대 인기 상품 개수
  • 1~1,000 (기본값: 100)

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://aitems.apigw.ntruss.com/api/v1/services/xv94v******' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "types": [
        "personalRecommend"
    ],
    "description": "test",
    "hpConfig": {
        "is_enabled": false
    }
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
serviceId String - 서비스 ID
name String - 서비스 이름
description String - 서비스에 대한 설명
status String - 서비스 상태
  • scheduled | scheduledLearning | learnable | learning | deleting | deleted | disable | drafted | requestLearning | datasetRequired
    • scheduled: 예약됨
    • scheduledLearning: 예약된 학습 중
    • learnable: 학습 가능
    • learning: 학습 진행 중
    • deleting: 삭제 중
    • deleted: 삭제됨
    • disable: 학습 불가
    • drafted: 임시 저장 상태
    • requestLearning: 학습 요청 상태
    • datasetRequired: 서비스 생성 후 데이터셋을 지정하지 않은 상태
datasets Array - 서비스에 설정된 데이터셋 정보
hpConfig Object - HPO (Hyperparameter Optimization) 설정 정보
hpConfig.is_enabled Boolean - HPO 설정 여부
  • true | false
    • true: HPO 설정. 최적의 훈련 모델 구현 가능.
    • false: HPO 설정하지 않음. AiTEMS 내부의 자체 알고리즘으로 학습.
hpConfig.{option} String, Long, Boolean - 설정된 HPO 값
  • 값에 대한 세부 정보는 HPO 참조
infers Array - 학습 결과 정보
  • typeinterval인 경우에만 표시
createdDate String - 서비스 생성 일시
updatedDate String - 서비스 최종 업데이트 일시
type String - 서비스 타입
  • batch | interval
    • batch: 학습 진행 시 1회 학습
    • interval: 학습 진행 후 일정 주기로 재학습
learningInterval String - 데이터셋 업데이트 주기
scheduledDate String - 데이터셋 업데이트 예약 시간

datasets

datasets에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
datasetId String - 서비스에 설정된 데이터셋 ID
type String - 서비스에 설정된 데이터셋 타입
  • personalRecommend | relatedItem | pop
    • personalRecommend: 고객 서비스 이용자의 과거 이력을 바탕으로 개인별 추천
    • relatedItem: 아이템의 연관 이력을 바탕으로 개인별 추천
    • pop: 순위별 인기 아이템 추천
name String - 서비스에 설정된 데이터셋 이름
schemaName String - 서비스에 설정된 데이터셋 스키마 이름
status String - 서비스에 설정된 데이터셋 상태
  • learnable | disable | uploading | updateRequired
    • learnable: 학습 가능
    • disable: 학습 불가
    • uploading: 업로드 중
    • updatedRequired: 업데이트된 데이터셋 등록 필요(학습 시 자동으로 등록됨)
createdDate String - 서비스에 설정된 데이터셋 생성 일시
updatedDate String - 서비스에 설정된 데이터셋 최종 업데이트 일시

infers

infers에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
dataType String - 학습 결과 데이터셋 타입
  • personalRecommend | relatedItem | pop
    • personalRecommend: 고객 서비스 이용자의 과거 이력을 바탕으로 개인별 추천
    • relatedItem: 아이템의 연관 이력을 바탕으로 개인별 추천
    • pop: 순위별 인기 아이템 추천
trainVersion String - 학습 결과 버전
status String - 학습 결과 상태
  • enable | waiting | pending | processing | updateFailed | disable
    • enable: 업데이트 가능
    • waiting: 업데이트 대기 중
    • pending: 업데이트 대기 중
    • processing: 업데이트 중
    • updateFailed: 업데이트 실패
    • disable: 업데이트 불가
rowCount String - 결과 데이터 개수
createdDate String - 데이터 생성 일시
updatedDate String - 데이터 최종 업데이트 일시

응답 상태 코드

AiTEMS API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 AiTEMS API 공통 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "serviceId": "xv94v******",
    "name": "service1",
    "description": "",
    "status": "learning",
    "datasets": [
        {
            "datasetId": "g8rf6******",
            "type": "item",
            "name": "item_dataset",
            "schemaName": "item_schema",
            "status": "learnable",
            "createdDate": "2024-07-29T16:46:35.968",
            "updatedDate": "2024-07-30T08:57:35.209"
        },
        {
            "datasetId": "bu457******",
            "type": "interaction",
            "name": "interaction_dataset",
            "schemaName": "interaction_schema",
            "status": "learnable",
            "createdDate": "2024-07-30T09:49:19.254",
            "updatedDate": "2024-07-30T09:49:35.364"
        },
        {
            "datasetId": "oeq4i******",
            "type": "user",
            "name": "user_dataset",
            "schemaName": "user_schema",
            "status": "learnable",
            "createdDate": "2024-07-30T08:58:00.662",
            "updatedDate": "2024-07-30T08:58:35.205"
        }
    ],
    "hpConfig": {
        "is_enabled": false
    },
    "infers": [],
    "createdDate": "2024-07-30T09:50:53.521",
    "updatedDate": "2024-07-30T10:32:00.492",
    "type": "batch"
}