Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Model API의 입출력 명세

Model API는 머신러닝 모델에 전달할 입력과 모델이 반환할 출력을 정의합니다. 모델 버전의 modelApi에는 선택적인 inputs: list<ModelApiInput>와 outputs: list<ModelApiOutput>가 있습니다. 두 목록의 항목은 각각 unsupported, parameter, tabular 분기 중 하나입니다.

매개변수 입출력

type: "parameter"는 다음 필드를 가집니다.

필드자료형필수 여부의미
namestring필수입출력 이름
requiredboolean선택기본값은 true이며 false이면 null 또는 생략 허용
dataType아래 재귀 자료형필수값의 자료형

required라는 메타데이터 필드를 생략할 수 있다는 사실과 실제 입출력 값이 선택이라는 뜻을 구분합니다. 이 필드를 생략하면 입출력 값의 필수 여부는 true입니다.

표 형식 입출력

type: "tabular"는 다음 필드를 가집니다.

필드자료형필수 여부의미
namestring필수입출력 이름
requiredboolean선택기본값 true, false이면 해당 입출력에 null 또는 생략 허용
columnslist<ModelApiColumn>선택열의 명세
formatPANDAS 또는 SPARK선택모델이 받거나 반환할 DataFrame 형식, 기본값 PANDAS

각 ModelApiColumn에는 필수 문자열 name, 필수 dataType, 선택적인 boolean required가 있습니다. 열의 required도 기본값이 true이며 false이면 null이나 열 생략을 허용합니다.

DataFrame 형식은 입력과 출력 항목마다 지정합니다. 이 값은 모델이 받거나 반환하는 DataFrame의 형식이며, REST 요청 본문의 JSON 구조와는 구분합니다.

재귀 자료형

dataType.type으로 다음 12가지 분기를 구분합니다.

type추가 필드
date없음
boolean없음
string없음
double없음
integer없음
float없음
any없음
long없음
timestamp없음
array필수 itemType
map필수 keyType, valueType
unsupported필수 unsupportedType, 선택 params

itemType, keyType, valueType도 같은 12가지 자료형의 객체이므로 배열과 맵을 중첩할 수 있습니다.

unsupported 정보

입력, 출력 또는 자료형의 type: "unsupported"에는 필수 문자열 unsupportedType과 선택적인 params가 있습니다. params는 문자열 키 UnsupportedTypeParamKey에서 문자열 값 UnsupportedTypeParamValue로 대응하는 맵입니다.

이 분기의 정보를 보존하여 처리하며 parameter나 tabular의 name, columns 같은 필드를 임의로 덧붙이지 않습니다. 모델 버전의 생성 출처가 API에서 지원되지 않아 발생하는 UnsupportedModelSource 오류는 이 입출력 분기와 구분합니다.