2025-2학기 종합설계 1 석문기 교수님 분반 인퍼런스 팀
팀 공유 파일 필요(드라이브에 전달):
backend/saved_model/— KlueBERT 파인튜닝 모델 파일backend/rag/data/source_data/— RAG DB 구축용 원본 데이터
mindcare-app/ # React 프론트엔드
├── src/App.jsx
└── package.json
backend/
├── main.py # FastAPI 서버 진입점
├── ai_module.py # GPT 연동, GraphRAG 컨텍스트 생성
├── saved_model/ # KlueBERT 모델 파일 (별도 수령)
└── rag/
├── model.py # CustomBertForMTL 정의 및 모델 로딩
├── rag.py # 유사 발화 벡터 검색 (Chroma + 리랭킹)
├── graph.py # GraphRAG: 사용자 지식 그래프 구성 및 순회
├── db/ # SQLite + Chroma 인덱스
├── data/source_data/ # RAG DB 구축용 데이터 (별도 수령)
└── scripts/
└── setup_rag.py # RAG DB 초기화 스크립트
git clone [레포 URL]
cd Mindcare
cd mindcare-app
npm install
cd ../backend
pip install fastapi uvicorn sqlalchemy python-jose[cryptography] pydantic openai python-dotenv bcrypt httpx
cd kluebert_fastapi
pip install torch transformers sentencepiece numpy
.env.example 참고하여 작성 (OpenAI API key 필요)
이미 DB가 있는 경우 마이그레이션:
cd ../backend
python migrate.py
cd backend
python -m rag.scripts.setup_rag
rag/db/depression_rag.db, rag/db/chroma_store/가 생성됨
cd backend
python -m uvicorn kluebert_fastapi.app:app --port 8001
cd backend
python -m uvicorn main:app --reload --port 8000
cd mindcare-app
npm run dev
- 앱: http://localhost:5173
- 백엔드 API 문서: http://localhost:8000/docs
- KlueBERT API 문서: http://localhost:8001/docs
- 일반 사용자: 회원가입에서 "일반 사용자" 선택
- 의사: 회원가입에서 "의사" 선택 → 전문 분야, 면허번호 입력
- 의사 계정에서 환자 추가: 환자의 아이디 입력
- KlueBERT 서버가 꺼져 있어도 앱은 동작함 (키워드 기반 폴백)
- saved_model, source_data은 별도 수령 필요
- .env 파일은 각자 생성 필요