Search
👨🏿‍💻

Serving: FastAPI (1)

카테고리
M&A
세부 카테고리
Serving
환경
boostcamp
작성 상태
앞선 내용
이어지는 내용
파일

프로젝트 구조

app(플젝 이름 등)
프로젝트의 코드가 들어갈 모듈 설정
main.py
애플리케이션을 실행할 수 있는 Entrypoint
main.py 또는 app.py
FastAPI의 애플리케이션Router 설정
model.py
ML model에 대한 클래스와 함수 정의
FastAPI는 비동기 방식의 web server framework이다.
단순히 FastAPI 만으로는 서버를 띄울 수 없다는 뜻인데 이 때 필요한 것이 uvicorn이다.

uvicorn

python web server framework(Fastapi가 대표적)와 application 사이의 interface를 제공한다.

간단한 실행

from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "world"}
Python
복사
해당 yong.py를 만든다
그리고 터미널에서 uvicorn을 실행하거나 yong파일에 해당 코드를 추가한다.
터미널
uvicorn yong:app --reload
Plain Text
복사
yong.py
from fastapi import FastAPI import uvicorn app = FastAPI() @app.get("/") def read_root(): return {"Hello": "world"} if __name__=='__main__': uvicorn.run(app, host='0.0.0.0', port=8000)
Python
복사
python3 yong.py
Plain Text
복사
그리고 localhost:8000에 접근하면 결과를 볼 수 있다.
localhost:8000/docs 로 접근하면 Swagger를 볼 수 있다.

Swagger

REST API 설계 및 문서화할 때 사용
기능
API 디자인
API 빌드
API 문서화
API 테스팅