Hugging Face 모델을 FastAPI로 API 서버 배포하기
이 문서는 이전 실습에서 사용한 Hugging Face 모델을 기반으로,
FastAPI 웹 프레임워크와 연동하여 API 서버 형태로 배포하는 방법을 안내합니다.
이를 통해 단순한 모델 테스트를 넘어, ECI GPU/CPU VM을 실제 운영 서버처럼 활용하는 방법을 확인할 수 있습니다.
실습 목표
이 문서를 완료하면 다음을 할 수 있습니다.
- Hugging Face 모델을 서버 프로세스로 로딩
- FastAPI 기반 추론 API 구현
- 외부에서 HTTP 요청으로 모델 추론 결과 확인
- 실제 서비스와 유사한 API 서버 구조 이해
전체 구조 개요
Client (curl / Browser)
|
v
FastAPI API Server
|
v
Hugging Face Transformers
|
v
CPU / GPU (ECI VM)
사전 준비 사항
- 이전 가이드 완료:
- ECI VM
- CPU 또는 GPU VM (본 가이드는 CPU 기준, GPU에서도 동일)
- Public IP 설정
- Python 3.10 이상
- API에 대한 이해
Step 1. 기존 실습 환경 확인
이전 가이드에서 생성한 프로젝트 디렉토리로 이동합니다.
cd hf-text-cls
source .venv/bin/activate
라이브러리 설치 상태를 확인합니다.
pip list | grep transformers
Step 2. FastAPI 및 웹 서버 라이브러리 설치
API 서버 구성을 위해 FastAPI와 ASGI 서버(Uvicorn)를 설치합니다.
pip install fastapi uvicorn
Step 3. API 서버 코드 작성
1️⃣ 프로젝트 구조
hf-text-cls/
├─ app.py
└─ text_cls_infer.py
2️⃣ FastAPI + Hugging Face 코드 작성
nano app.py