ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FastAPI로 간단한 REST API 서버 만들기
    Python 2024. 2. 1. 20:39

    인공지능 모델도 API를 통해 사용된다는걸 처음 알았다.

     

    인공지능 모델과 웹 사이트을 서로 연동해서 구현하게 된다면 예측 기능이 필요할때마다 모델을 Load하고 input data를 전처리하는 과정을 계속 겪기 때문에 차라리 인공지능 모델을 간편하게 사용할 수 있도록 API로 만들어서 호출하는 방식으로도 구현할 수 있다. 

     

    FastAPI 문서가 진짜 잘 정리 되어있어서 가장 배우기 편했다 ...!

    https://fastapi.tiangolo.com/ko/

     

    FastAPI

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    fastapi.tiangolo.com


    라이브러리 설치

    $ pip install fastapi
    $ pip install uvicorn

    Main.py 파일 설정

    from typing import Union
    
    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    def read_root():
        return {"Hello": "World"}
    
    
    @app.get("/items/{item_id}")
    def read_item(item_id: int, q: Union[str, None] = None):
        return {"item_id": item_id, "q": q}

    서버 실행

    $ uvicorn main:app --reload
    
    INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
    INFO:     Started reloader process [28720]
    INFO:     Started server process [28722]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.

    내용 확인

    1. 서버 실행 후 아래 url에 접속하면 {"Hello":"World"} 라고 나와있는걸 확인할 수 있다 !

        - URL : http://127.0.0.1:8000/

    2. 아래 url에 접속하면 {"item_id":5, "q":"somequery"} 라고 나와있는걸 확인할 수 있다 !

        - URL : http://127.0.0.1:8000/items/5?q=somequery


    문서 보기

    1. 아래 url에 접속하면 swagger ui가 붙여져서 FastAPI를 한눈에 보기 좋은 형태로 구성되어있는걸 볼 수 있다.

        - URL : http://127.0.0.1:8000/docs

    swagger ui

    2. 아래 url에 접속하면 다른 형태의 ui가 붙여져서 나온걸 볼 수 있다.

        - URL : http://127.0.0.1:8000/redoc

    ui

    'Python' 카테고리의 다른 글

    튜플 텍스트만 출력하는 방법  (0) 2024.01.19
    3학년 1학기 기말고사 정리  (0) 2022.06.23
    Dictionary [사전]  (0) 2022.01.26
    배열에 관한 속성들 [LIST]  (0) 2022.01.25
Designed by Tistory.