← Projects ↗05 / 2026.09

MLOPS / 개인 프로젝트

MED-RAG Serving Lab

Hyunae ParkPython · HTTP / SSE · GitHub Actions2026.09.10 — 09.14

버전 고정, 품질 gate, 요청 제어와 릴리스 검사를 구현했습니다. 모듈을 누르면 구현 내용과 코드가, 아래 기록을 누르면 실제 검증 결과가 열립니다.

저장된 실행 기록cpu-91fe7e3fc879Windows · Python 3.12.14 · 2026.09.14

01 / System

5개 구현 모듈
내가 구현한 부분 / 01

실행 조건을 하나의 버전으로 고정

모델·tokenizer revision과 이미지 digest, 프롬프트·데이터·실행 코드의 hash를 하나의 manifest로 묶었습니다. 설정이나 파일이 바뀌면 같은 후보로 통과하지 못합니다.

확인한 동작

프롬프트·runtime 변조와 환경 불일치 차단

manifest.py ↗
14 / 14시나리오 계약 확인
31Python 테스트 통과
0실행 종료 시 진행 중 요청

실제 로컬 HTTP + 고정 합성 응답.
모델 호출과 GPU 성능 측정은 포함하지 않습니다.

02 / QUALITY & RELEASE

후보 비교

합성 질문 12개에 고정 답변을 넣어 검사기를 검증했습니다. 셀을 누르면 질문, 답변과 실패 이유를 확인할 수 있습니다.

PASS12 / 12

계약을 통과한 고정 답변

모델의 정확도 점수가 아닌 기계적 계약 검사입니다.

s01PASS

가상 라온센터 자료실 운영 시간은?

검사할 답변
자료실은 평일 09:00부터 17:00까지 운영합니다. [library.md]
원본 근거 보기

library.md: 가상 라온센터 자료실은 평일 09:00부터 17:00까지 운영한다.

QUALITY GATEPASS
RAW EVIDENCE원본 재계산
ARTIFACT준비됨 · 미배포

별도 변조 검사: 요약의 값을 바꾼 후보도 생성 전에 차단했습니다.

03 / HTTP REHEARSAL

요청과 장애 기록

/metrics ↗

실제 gateway에 10개 요청을 보냈습니다. 4개 슬롯을 채운 뒤 초과 요청을 보내고, 상류 오류·응답 중단·시간 초과를 주입한 후 정상 응답을 확인했습니다.

완료 6429 · 1주입한 상류 오류 3
RECORDED EVENTVERIFIED

정상 요청

정상 SSE 응답을 받고, 종료 표식과 manifest 식별자를 확인했습니다.

ClientGatewayCPU fixture
{
  "id": "normal",
  "stage": "gateway",
  "at_ms": 13.46,
  "http_status": 200,
  "ok": true,
  "error": null,
  "identity_matches": true,
  "expected": {
    "http_status": 200,
    "ok": true,
    "identity_matches": true
  },
  "passed": true
}

T+는 실행 내 이벤트 기록 순서입니다. 모델 지연이나 복구 성능 수치가 아닙니다.

04 / REPRODUCE

코드와 실행 근거

GitHub Actions ↗

Python 3.11 이상 · 추가 패키지 없이 실행

cd med-rag-serving
python -m unittest discover -s tests -v
python -m serving_lab rehearsal --out artifacts/my-run

새 출력 폴더를 지정하세요. 실행한 로컬 서버는 검증 후 종료됩니다.

검증한 소스 버전 SHA-256
rehearsal.py ↗0a9e0f7397d0932e…
gateway.py ↗0fc8212e735cdf69…
quality.py ↗e60bc77db12fb913…
release.py ↗73fbbec8d902e8c3…
manifest.py ↗56d798da1a9e73f5…
client.py ↗38c083130bf88080…

정규화한 소스 hash · 원본 JSON에 전체 값 포함

이번에 검증한 범위

HTTP / SSE 제어, 동시 요청 제한, 장애 해제 후 정상 응답, 품질·변조 후보 차단, /metrics 카운터.

추가 실측이 필요한 범위

GPU 추론과 모델 품질, 처리량·지연 개선, Prometheus 경보 firing, 실제 서비스 배포 교체와 롤백.

Contact

hyunaeee@gmail.com ↗

대한민국 · 한국어 / 영어

포트폴리오 PDF

역할, 설계 판단, 검증 결과와 자료 링크를 함께 담습니다.

인쇄 창에서 ‘PDF로 저장’을 선택하세요.