ChatGPT API를 활용한 개인화된 음악 추천 서비스
ChatGPT API를 이용하여 간단한 인공지능 챗봇을 구현해보는 프로젝트입니다.
주요 기능
- 사용자 회원가입/로그인
- AI 챗봇과 실시간 음악 추천 대화
- 사용자별 채팅 기록 저장
- 반응형 채팅 인터페이스
백엔드
- FastAPI (Python)
- 메모리 기반 데이터 저장
- ChatGPT API 연동
프론트엔드
- HTML5, CSS3, JavaScript
- Fetch API를 통한 비동기 통신
API
- ChatGPT API
- 회원가입 시 입력값 검증 (아이디/비밀번호 형식 체크)
- 중복 아이디 방지
- 로그인 성공 시 채팅 화면으로 자동 전환
- "쿨하고 시크한 음악 전문가" 설정
- 키워드, 아티스트, 가사 기반 추천
- 추천 이유 상세 설명 제공
- 실시간 대화형 인터페이스
- 사용자별 대화 내역 분리 저장
- 채팅 기록 조회 기능
- 서버 재시작 전까지 데이터 유지
- 메시지 전송 후 입력창 자동 초기화
- 사용자/챗봇 메시지 시각적 구분
- 로딩 상태 표시
POST /users # 회원가입
POST /login # 로그인
POST /chats # 챗봇 대화
GET /chats/history/{user_id} # 채팅 기록 조회
# 가상환경 생성
python -m venv venv
.\venv\Scripts\activate
# 라이브러리 설치
pip install fastapi uvicorn requests python-multipart
uvicorn main:app --reload
- 백엔드 API: http://localhost:8000
- 백엔드 문서: http://localhost:8000/docs
- 프론트엔드: http://localhost:5500 (Live Server 사용시)
- 회원가입/로그인: 입력 검증 및 에러 처리 완료
- 채팅 기능: 실시간 AI 음악 추천 대화 구현
- 데이터 관리: 사용자별 채팅 기록 분리 저장
- UI/UX: 직관적인 채팅 인터페이스 제공
- 구체적인 컨셉의 챗봇 설정
- 데이터베이스 연동을 통한 영구 데이터 저장
- 로그아웃 기능 및 세션 관리
- 채팅 기록 UI 개선