Serving
ML 모델 서빙 배포를 관리하는 API입니다. 모델 배포, 조회, 삭제, 카나리 업데이트, 배포 메트릭 조회 기능을 제공합니다.
엔드포인트
POST /api/v1/serving/deployments
설명: 새 모델 배포를 생성합니다. (HTTP 201)
요청 본문:
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| endpoint_name | string | Y | 엔드포인트 이름 |
| model_uri | string | Y | MLflow 모델 URI |
| replicas | int | N | 레플리카 수 |
GET /api/v1/serving/deployments
설명: 배포된 모델 목록을 반환합니다.
GET /api/v1/serving/deployments/{endpoint_name}
설명: 특정 배포의 상세 정보를 반환합니다.
DELETE /api/v1/serving/deployments/{endpoint_name}
설명: 모델 배포를 삭제합니다. (HTTP 204)
POST /api/v1/serving/deployments/{endpoint_name}/canary
설명: 카나리 배포 비율을 업데이트합니다.
GET /api/v1/serving/deployments/{endpoint_name}/metrics
설명: 배포의 추론 메트릭(지연시간, 처리량 등)을 반환합니다.
배포 생명주기 (KServe)
아래 엔드포인트는 경로 파라미터로
{deployment_id}(UUID)를 사용합니다 — 위 CRUD·canary·metrics 의{endpoint_name}과 구분됩니다.
POST /api/v1/serving/deployments/{deployment_id}/deploy
설명: 배포를 KServe InferenceService 로 실제 서빙 배포합니다.
POST /api/v1/serving/deployments/{deployment_id}/rollback
설명: 직전 버전으로 롤백합니다.
POST /api/v1/serving/deployments/{deployment_id}/promote
설명: 카나리/스테이징 배포를 프로덕션으로 승격합니다.
PUT /api/v1/serving/deployments/{deployment_id}
설명: 배포 설정(레플리카·트래픽 등)을 수정합니다.
GET /api/v1/serving/deployments/{deployment_id}/k8s-status
설명: KServe InferenceService 의 실제 K8s 상태를 반환합니다.
추론 (Inference)
아래 엔드포인트는 경로 파라미터로
{deployment_name}를 사용합니다.
POST /api/v1/serving/{deployment_name}/predict
설명: 배포된 모델에 추론 요청을 전달합니다.
POST /api/v1/serving/{deployment_name}/explain
설명: 예측에 대한 설명(explainability)을 반환합니다.
GET /api/v1/serving/{deployment_name}/schema
설명: 모델 입력 스키마를 반환합니다.
경로 파라미터 명명
동일 리소스지만 엔드포인트 그룹별로 경로 파라미터 이름이 다릅니다 (실제 구현 기준):
| 그룹 | 파라미터 | 경로 |
|---|---|---|
| CRUD · canary · metrics | {endpoint_name} | /deployments/{endpoint_name}… |
| 생명주기 (deploy/rollback/promote/PUT/k8s-status) | {deployment_id} (UUID) | /deployments/{deployment_id}… |
| 추론 (predict/explain/schema) | {deployment_name} | /{deployment_name}/… |
인증
JWT Bearer 토큰이 필요합니다.
에러 코드
| 코드 | 설명 |
|---|---|
| 400 | 잘못된 모델 URI 또는 설정 |
| 404 | 배포를 찾을 수 없음 |
| 500 | 모델 서빙 인프라 오류 |