# 프로젝트 구성 (Windows 환경) # 1. 프로젝트 폴더 생성 및 파일 구성 (Windows 명령어) # - 프로젝트 폴더: fastapi_upload_project # - 폴더 구조: RAG/ ├── .venv/ # 가상환경 폴더 ├── .vscode/ # VSCode 설정 폴더 ├── app/ # FastAPI 애플리케이션 폴더 │ ├── __pycache__/ # 캐시 파일 (자동 생성) │ ├── resources/ # 추가적인 리소스 (XML 등) │ ├── routers/ # 라우터 폴더 │ │ ├── __init__.py # 라우터 초기화 파일 │ │ ├── user.py # 사용자 관련 라우터 │ │ ├── search.py # 검색 관련 라우터 │ │ ├── upload.py # 업로드 관련 라우터 │ ├── templates/ # HTML 템플릿 폴더 │ │ ├── upload.html # 업로드 페이지 │ │ ├── search.html # 검색 페이지 │ ├── main.py # FastAPI 애플리케이션 진입점 ├── config/ # 설정 관련 폴더 │ ├── __pycache__/ # 캐시 파일 (자동 생성) │ ├── database.py # SQLAlchemy 데이터베이스 설정 │ ├── mybatis_manager.py # XML 매퍼 및 SQL 실행 관리 ├── mapper/ # MyBatis XML 매퍼 폴더 │ ├── user_mapper.xml # 사용자 매퍼 XML │ ├── order_mapper.xml # 주문 매퍼 XML │ ├── product_mapper.xml # 상품 매퍼 XML ├── models/ # 데이터베이스 모델 폴더 │ ├── __pycache__/ # 캐시 파일 (자동 생성) │ ├── user_info.py # 사용자 정보 모델 ├── uploaded_files/ # 업로드된 파일 저장소 ├── .gitignore # Git 무시 파일 ├── requirements.txt # Python 패키지 의존성 ├── readme.txt # 프로젝트 설명 파일 # 라우터 추가 # main.py 파일에 라우터 추가 app.include_router(upload.router) # FastAPI 라우터 파일 작성 # app/routers/upload.py 파일에 파일 업로드 관련 라우터 작성 ------------------------------------------------------------------------- # 가상 환경 생성 및 패키지 설치 (Windows) # Python 가상 환경을 생성하고 필요한 패키지를 설치하세요. # # python -m venv rag # rag\Scripts\activate # ./rag/scripts/activate.ps1(powershell evn switching) # pip install -r requirements.txt # FastAPI 서버 실행 # FastAPI 서버를 실행하세요. # uvicorn app.main:app --reload # pytorch 설치를 위해 파이썬 버전 3.11로 낮춤 pip install torch --extra-index-url https://download.pytorch.org/whl/cpu ------------------------------------------------------------------------- # 7. Docker 이미지 빌드&실행 # docker build -t app . # docker run -d -p 8000:8000 app