일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 챗gpt
- Python
- 비지도학습
- programmablesearchengine
- 랭체인
- fastapi #파이썬웹개발
- 파이썬웹개발
- HTML
- 사이킷런
- deeplearning
- pytorch
- 딥러닝
- konlpy
- sklearn
- chatGPT
- 머신러닝
- fastapi
- langchain
- fastapi #python웹개발
- 파이썬
- python 정렬
- pandas
- MachineLearning
- 판다스
- OpenAIAPI
- 파이토치기본
- 파이토치
- 판다스 데이터정렬
- 자연어분석
- NLP
- Today
- Total
Data Navigator
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기 본문
1. FastAPI 설치를 위한 conda 가상환경 만들고 주요 라이브러리 설치하기
# 가상환경 생성
conda create -n fastapi python=3.10
# 가상환경 활성화
conda activate fastapi
# FastAPI 설치
pip install fastapi
# ASGI 서버인 uvicorn 및 추가 패키지 설치
pip install "uvicorn[standard]"
fastapi: FastAPI 웹 프레임워크
uvicorn: ASGI 서버를 실행하는데 사용됩니다.
2. 작업 디렉토리 만들고 vscode 실행하기
mkdir ai_x
cd ai_x
mkdir fastapi
cd fastapi
code .
3. FastAPI의 특장점
빠름: NodeJS 및 Go와 대등할 정도로 매우 높은 성능을 가지고 있습니다.
빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도가 증가합니다.
적은 버그: 개발자의 실수로 인한 에러가 약 40% 감소합니다.
직관적: 훌륭한 편집기 지원을 제공합니다.
쉬움: 쉽게 사용하고 배우도록 설계되어 있습니다.
짧음: 코드 중복을 최소화합니다.
Robust: 프로덕션 단계 준비가 된 코드를 제공하며, 자동으로 문서를 생성해줍니다.
Standards-based: API를 위한 오픈 스탠다드를 기준으로 합니다.
4. Python 타입 힌트(Type hint)
Python 타입힌트는 변수 선언이나 함수 정의 시에 콜론 (:) 다음에 타입을 명시적으로 지정해주는 것입니다.
예를 들어, def greeting(name: str) -> str:에서 name의 타입은 str이고, 반환값의 타입 역시 str입니다.
@app.get("/")
def welcome() -> dict: # welcome함수의 반환값(return)의 타입(->)은 dict
return { "message": "Hello World"} # return으로 dict형 값을 반환
@app.get("/{name}")
async def welcome(name: str) -> dict: # welcome함수의 입력값은 name변수로 받고 값은 str 리턴은 dict
return { "message": f"Hello {name}"} # return을 dict로 하기로 했기 때문에 dict로 반환
@app.get("/{name}")
async def welcome(name: str) -> str: # welcome함수의 입력값은 name변수로 받고 값은 str 리턴도 str
return f"Hello {name}" # return을 str로 하기로 했기 때문에 str로 반환
5. 비동기 처리 async, await
async와 await 키워드를 사용한 비동기 처리는 파이썬에서 비동기 작업을 정의하는 방법입니다. async로 정의된 함수는 코루틴이 되고, await는 해당 코루틴의 실행을 일시 중지하고 결과가 준비될 때까지 기다리게 합니다.
6. 간단한 FastAPI 예제
api.py 만들고 아래 코드 입력하기
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def welcome():
return {"message": "Hello World"}
터미널에서 아래 코드 입력 후 실행
uvicorn api:app --port 8000 --reload
웹 브라우저를 열고 localhost:8000으로 접속 후 결과 확인
{"message": "Hello World"} 가 정상적으로 출력되었다면 성공
출처: 아데시나, 압둘라지즈 압둘라지즈. FastAPI를 사용한 파이썬 웹 개발. 번역 김완섭. 한빛미디어, 2023
'FastAPI' 카테고리의 다른 글
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기6 - todo 목록 반환 모델 만들기 (0) | 2024.05.08 |
---|---|
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기5 - CRUD 구현 하기 (0) | 2024.05.08 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기4 - 경로 매개변수와 쿼리 매개변수 (0) | 2024.05.04 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기3 - pydantic 으로 유효성 검사하기 (0) | 2024.05.03 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기2 - Routing (0) | 2024.05.03 |