AI 커리어 플래너

Backend

FastAPI를 사용하여 AI 모델 연동 및 데이터 처리를 위한 RESTful API를 개발했습니다.

FastAPIPythonMySQLSQLAlchemyDocker

핵심 기여 사항

  • 사용자, 커리어 계획 데이터 모델링 및 MySQL DB 설계
  • 대규모 사용자 데이터 처리를 위한 DB 최적화 및 캐싱 전략 적용
  • Docker 환경 구성 및 로컬/배포 환경 분리 자동화

도전 과제: 실시간 AI 연동과 효율적인 데이터 처리

백엔드의 핵심 과제는 OpenAI의 GPT 모델과 실시간으로 통신하여 AI 멘토링 응답을 생성하고, 사용자의 커리어 데이터를 안정적으로 관리하는 것이었습니다. Python의 비동기 처리 능력과 타입 안정성을 모두 활용할 수 있는 현대적인 프레임워크가 필요했습니다.

해결 전략: FastAPI 기반의 비동기 API 서버 구축

FastAPI를 채택하여 Python의 비동기(async/await) 기능을 최대한 활용하고, Pydantic 모델을 통해 API 요청/응답의 데이터 유효성을 보장했습니다. 이를 통해 빠르고 안정적인 API 서버를 구축할 수 있었습니다.

다이어그램을 불러오는 중...

[그림 1] FastAPI 기반 백엔드 아키텍처

사용자 요청이 들어오면, FastAPI는 내부 챗봇 서버에 비동기적으로 요청을 보내 AI 응답을 기다리는 동안 다른 요청을 처리할 수 있습니다. 데이터베이스는 SQLAlchemy ORM을 통해 비동기적으로 접근하여 블로킹을 최소화했습니다.

# 예시: 내부 챗봇 서버와 통신하는 API 엔드포인트
from fastapi import FastAPI
from pydantic import BaseModel
from . import chatbot_service # 가상의 챗봇 서비스 모듈
app = FastAPI()
class ChatRequest(BaseModel):
user_id: int
message: str
@app.post("/api/chat")
async def get_ai_response(request: ChatRequest):
# 비동기적으로 내부 챗봇 서비스 호출
ai_message = await chatbot_service.get_response(
user_id=request.user_id,
message=request.message
)
return {"response": ai_message}

결과 및 성과

FastAPI의 높은 성능과 생산성 덕분에 빠르게 MVP를 개발하고 실제 고등학교와의 계약까지 성공적으로 이끌 수 있었습니다. Docker를 활용한 배포 자동화는 안정적인 서비스 운영의 기반이 되었습니다.