내일 몇 개 구울까?
주문 조건 하나를 세 상자에 동시에 보냅니다. 같은 모델을 sklearn 과 ONNX 로 서빙한 두 상자는 같은 숫자를 내야 하고, 600그루짜리 무거운 모델은 다른 숫자를 냅니다. 응답 헤더의 Server-Timing 으로 전처리·추론·후처리 시간, X-Cache 로 캐시 적중, X-Model-Version 으로 올라온 모델 버전을 봅니다.
| 상자 | 스택 | 예측(개) | 전처리 | 추론 | 후처리 | 왕복 | 캐시 | 모델 |
|---|---|---|---|---|---|---|---|---|
| s1 | FastAPI + sklearn | – | – | – | – | – | – | – |
| onnx | FastAPI + ONNX Runtime | – | – | – | – | – | – | – |
| heavy | FastAPI + sklearn (600그루) | – | – | – | – | – | – | – |
모델이 늙는 것을 보기 — 겨울 메뉴 전환
여름 데이터로 배운 모델에 겨울 주문(단팥빵·바게트 위주, 행사 거의 없음)만 계속 들어오면 예측 중앙값이 약 30 → 20 으로 밀립니다. 에러는 한 번도 안 납니다. 강사 Grafana 의 "예측 분포"·"Drift 점수" 패널이 그걸 잡고, 0.25 를 2분 넘기면 경보가 울립니다.
대기
직접 호출
각 상자의 Swagger UI: s1 · onnx · heavy. 준비 상태 /health(모델 없으면 503), 모델 정보 /model.
curl -s https://s1.camp.itda.work/predict -H 'content-type: application/json' \
-d '{"date":"2026-08-01","store_id":"S02","item":"소금빵","price":2560,"promo":1}'