FastAPI를 사용하여 영화 추천 시스템 구현하기

fastapi-logo

소개

영화 추천 시스템은 많은 사람들이 영화를 선택할 때 도움을 주는 중요한 도구입니다. 이번에는 FastAPI를 사용하여 간단한 영화 추천 시스템을 구현해보겠습니다. FastAPI는 빠르고 간편한 REST API를 구축할 수 있는 파이썬 웹 프레임워크입니다.

준비물

데이터셋

이 예제에서는 MovieLens 데이터셋을 사용합니다. MovieLens는 사용자가 영화에 대한 평가를 매긴 데이터로 구성되어 있습니다. 데이터를 다운로드하고 ratings.csv 파일을 프로젝트 폴더에 추가합니다.

프로젝트 설정

처음으로, FastAPI를 설치합니다.

pip install fastapi

다음으로, app.py라는 파일을 생성하고 다음 코드를 추가합니다.

from fastapi import FastAPI
import pandas as pd

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/movies/{movie_id}")
def read_movie(movie_id: int):
    # 데이터 로딩
    movies = pd.read_csv('ratings.csv')
    
    # 특정 영화 정보 가져오기
    movie_info = movies.loc[movies['movieId'] == movie_id]
    
    if len(movie_info) == 0:
        return {"Error": "Movie not found"}
    
    return movie_info.to_dict('records')[0]

API 엔드포인트

  1. / (GET): 기본 엔드포인트로 “Hello, World”를 반환합니다.
  2. /movies/{movie_id} (GET): 주어진 movie_id에 해당하는 영화 정보를 반환합니다.

테스트

터미널에서 다음 명령어를 실행하여 FastAPI 서버를 실행합니다.

uvicorn app:app --reload

브라우저 또는 API 테스트 도구를 사용하여 다음 주소를 열고 테스트합니다.

결론

이제 FastAPI를 사용하여 간단한 영화 추천 시스템을 구현하는 방법을 알게 되었습니다. FastAPI는 높은 성능과 직관적인 문법을 가지고 있어 웹 개발을 더욱 편리하게 만들어줍니다. 다양한 기능을 추가하여 더 복잡한 시스템을 구현할 수 있습니다. Happy coding!

#FastAPI #영화추천 #파이썬