FastAPI로 머신러닝 모델 배포하기

이번 글에서는 FastAPI를 사용하여 머신러닝 모델을 배포하는 방법을 알아보겠습니다. FastAPI는 Python으로 작성된 고성능 API 프레임워크로, 빠른 속도와 쉽고 간편한 개발 경험을 제공합니다.

1. FastAPI 설치하기

FastAPI를 사용하기 위해 먼저 설치해야 합니다. 아래의 명령어를 사용하여 FastAPI를 설치해주세요.

pip install fastapi

2. 머신러닝 모델 구현하기

FastAPI를 사용하여 머신러닝 모델을 배포하기 위해서는 먼저 모델을 구현해야 합니다. 예를 들어, Scikit-learn을 사용하여 간단한 분류 모델을 구현해보겠습니다.

import joblib
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"message": "Hello, FastAPI!"}

@app.post("/api/predict")
def predict(data: dict):
    # 데이터 전처리 등 필요한 전처리 작업 수행
    
    # 모델 로드
    model = joblib.load("model.pkl")
    
    # 예측 수행
    prediction = model.predict(data)
    
    return {"prediction": prediction}

3. FastAPI 서버 실행하기

이제 FastAPI 서버를 실행해보겠습니다. 아래의 명령어를 사용하여 FastAPI 서버를 실행할 수 있습니다.

uvicorn main:app --reload

위 명령어에서 main은 파일 이름이고, app은 FastAPI 애플리케이션의 변수 이름입니다.

4. API 테스트하기

FastAPI 서버가 실행되었다면, Postman이나 curl을 사용하여 API 요청을 테스트해볼 수 있습니다. 예를 들어, 다음과 같은 형식으로 POST 요청을 보낼 수 있습니다.

import requests

data = {"feature1": 1, "feature2": 2}

response = requests.post("http://localhost:8000/api/predict", json=data)

print(response.json())

위 코드에서 feature1feature2는 입력할 특성의 데이터입니다. 서버는 이를 기반으로 머신러닝 모델의 예측 결과를 반환합니다.

결론

FastAPI를 사용하여 머신러닝 모델을 배포하는 방법을 알아보았습니다. FastAPI의 높은 성능과 쉬운 사용성으로, 머신러닝 모델의 배포 작업을 간편하게 처리할 수 있습니다. 더 자세한 내용은 FastAPI 공식 문서를 참고하세요.

#FastAPI #머신러닝 #모델배포