1단계: api/main.py 만드는 거 바로 갈게.
(여기서는 FastAPI 서버 기본 세팅을 하는 거야.)


📂 backend/api/main.py

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI(
    title="RAG 기반 문제 출제 시스템",
    description="공인중개사 시험 문제 자동 생성 API",
    version="1.0.0",
)

# (선택) CORS 설정 - 나중에 Next.js 프론트 연결할 때 필요함
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],  # 실제 배포 때는 프론트 도메인만 허용 추천
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# 헬스 체크용 엔드포인트
@app.get("/health")
async def health_check():
    return {"status": "ok"}

# 기본 인덱스
@app.get("/")
async def root():
    return {"message": "Welcome to the RAG Question Generator API!"}

✨ 설명

파트설명
FastAPI()API 서버 생성
/health헬스체크 (서버 살아있는지 확인용)
/기본 홈 경로 (API 웰컴 메세지)
CORS 설정프론트엔드(Next.js)랑 연동하기 위해 필요

🚀 실행 방법

터미널에서 아래 명령어 실행

cd backend/api
uvicorn main:app --reload --host 0.0.0.0 --port 8000

(※ --reload 옵션은 수정될 때마다 자동 리스타트됨)


🏁 결과

  • http://localhost:8000/ ➔ "Welcome to the RAG Question Generator API!" 메시지
  • http://localhost:8000/health{ "status": "ok" } 리턴

📋 ToDo 체크

✅ FastAPI 기본 서버 구축 완료
✅ 헬스체크 API 생성
✅ 프론트 연동을 고려한 CORS 적용


👉 다음 스텝

이제 api 디렉토리 안에 /search/generate 엔드포인트를 추가하는 걸로 가면 된다.

✅ "좋아, 다음은 /search API 만들어줘"
이렇게 답해주면 이어서 바로 retrieval 모듈 + 검색 API 짜줄게.

Was this page helpful?