본문 바로가기

FastAPI8

FastAPI 대량 데이터 처리와 BigQuery 사용한 효과적인 작업 수행 FastAPI에서 대량의 데이터를 다루는 경우, 효과적인 처리를 위해 여러 방법을 사용할 수 있습니다. 주로 고려해야 할 부분은 데이터의 저장, 검색, 전송이며, 이를 위해 비동기 처리, 데이터 스트리밍, 배치 처리, 데이터베이스 최적화 등의 기술을 활용할 수 있습니다. 다음은 대량의 데이터를 효과적으로 다루기 위한 몇 가지 방법과 예제 코드를 제공합니다. 1. 비동기 처리 대량의 데이터를 처리할 때, 요청을 비동기적으로 처리하면 서버의 응답성을 향상시킬 수 있습니다. FastAPI는 Python의 async와 await 구문을 사용하여 비동기 처리를 쉽게 구현할 수 있도록 지원합니다. 데이터베이스 비동기 조회 예시 from fastapi import FastAPI from sqlalchemy.ext.a.. 2024. 3. 28.
FastAPI, Uvicorn, Pydantic 및 Starlette 활용에 대한 유용한 팁 FastAPI, Uvicorn, Pydantic, 그리고 Starlette은 현대적인 Python 웹 개발에서 매우 인기 있는 도구들입니다. 이들 각각은 웹 애플리케이션을 구축, 배포 및 관리하는 데 있어 특정 기능을 제공합니다. 여기에 각각의 도구가 어떻게 상호작용하며, 그들을 활용하는 데 있어 유용한 팁을 요약해 보겠습니다. FastAPI 소개: FastAPI는 현대적이고 빠른(고성능) 웹 프레임워크로, Python 3.6 이상에서 비동기 프로그래밍을 사용합니다. API 개발에 최적화되어 있으며, Pydantic을 사용한 데이터 검증과 자동 문서 생성 기능을 제공합니다. 활용 팁: 타입 힌트와 Pydantic 모델: FastAPI는 타입 힌트와 Pydantic 모델을 사용하여 데이터 검증과 직렬화를 .. 2024. 2. 10.
FastAPI와 Celery에 대한 개념과 예제를 통한 이해 FastAPI와 Celery에 대한 기본 개념을 설명하고 간단한 예제를 통해 이해를 해보고자 정리합니다. FastAPI와 Celery 소개 FastAPI 소개 FastAPI는 파이썬으로 작성된 빠르고 현대적인 웹 프레임워크로, API를 빠르게 개발할 수 있도록 도와줍니다. Pydantic이라는 데이터 유효성 검사 및 직렬화를 위한 강력한 도구를 사용하여 타입 힌팅을 기반으로 하는 형식 체크를 지원합니다. 비동기 프로그래밍을 지원하여 성능 향상이 가능합니다. Celery 소개 Celery는 분산 작업 큐 시스템으로, 비동기 작업을 처리하는 데 사용됩니다. 백그라운드에서 작업을 비동기적으로 실행하고, 작업을 분산하여 여러 워커(worker)에서 병렬로 처리할 수 있습니다. FastAPI와 Celery를 함께.. 2024. 1. 16.
Python FastAPI 뉴스레터 예제 프로그램 제작 및 배포 과정 파이썬과 FastAPI를 사용하여 뉴스레터를 만드는 과정입니다. FastAPI 소개 FastAPI는 빠르고 현대적인 웹 프레임워크로, 파이썬을 기반으로 하는 비동기 웹 어플리케이션을 쉽게 작성할 수 있도록 지원합니다. 프로젝트 설정 FastAPI를 설치하고 새로운 프로젝트를 초기화합니다. 이때, Pydantic을 사용하여 데이터 모델을 정의합니다. 이메일 전송 설정 뉴스레터를 보낼 때 사용할 이메일 전송 서비스를 설정합니다. 보통은 SMTP 서버를 사용하는데, 이를 위해 smtplib를 사용할 수 있습니다. 데이터베이스 설정 사용자 정보와 뉴스레터 구독 정보를 저장하기 위해 데이터베이스를 설정합니다. 이때, SQLAlchemy나 ORM을 활용하여 데이터 모델을 정의하고 데이터베이스에 연결합니다. API .. 2024. 1. 15.
Ray Serve와 FastAPI 결합하여 웹서버 표준기능과 ML서빙 특화기능 동시활용 현대 기업에서 인공지능(AI)은 중요한 역할을 담당하고 있습니다. AI 모델을 실제 비즈니스 환경에 효과적으로 적용하는 것, 즉 MLOps(기계 학습 운영)와 프로덕션 환경에서의 모델 배포는 복잡한 과제로 남아 있습니다. AI의 중요성을 강조하면서, 동시에 MLOps와 프로덕션 배포의 어려움을 탐구합니다. Ray와 Ray Serve 소개 Ray의 역할: 데이터 전처리, 학습, 조정 등을 단일 스크립트를 통해 효율적으로 수행할 수 있는 도구입니다. Ray Serve의 기능: 실시간 데이터 파이프라인을 개발하고 배포하는 과정을 간소화하고, 기술 스택을 단순화합니다. 이는 팀 간의 협업을 원활하게 하여 생산성을 높입니다. Python 웹 서버 (FastAPI)와 특화된 ML 서빙 Python: 데이터 과학에서.. 2024. 1. 14.