Skip to content

ChatGPT API를 통해 과거의 인물에게서 당시의 이야기를 들을 수 있습니다.

Notifications You must be signed in to change notification settings

FastAPI-PingPong/TimeTravellerChatBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimeTravellerChatBot

image ChatGPT API를 통해 과거의 인물에게서 당시의 실감나는 이야기를 들을 수 있습니다!

프로젝트 소개

Time Traveller Chat Bot은 과거의 특정 시간과 장소의 인물과 대화할 수 있는 대화형 서비스입니다. ChatGPT를 활용하여 사용자가 지정한 시대와 지역의 인물로 페르소나를 설정하고, 해당 인물과 역사적 맥락 안에서 대화를 나눌 수 있습니다.

주요 기능

  • 특정 연도와 지역의 가상 인물과 대화
  • historical persona를 통한 그 시대의 뉴스, 경제, 문화, 주요 이슈 등에 대한 대화
  • 지속적인 대화 기록 유지
  • 사용자 인증 및 개인화된 대화 세션 관리

기술 스택

  • FastAPI
  • SQLAlchemy
  • OAuth2 (JWT 인증)
  • ChatGPT API
  • HTML/CSS/JS(vanilla)

API 명세

Method Endpoint 설명
POST /signup 새로운 사용자 등록
POST /login 사용자 로그인 및 토큰 발급
POST /refresh 사용자 토큰 갱신
POST /session 새로운 대화 세션 생성 (시대, 지역, 인물 설정)
GET /session 사용자의 대화 세션 목록 조회
GET /introduction/{session_id} 세션의 초기 자기소개 메시지 조회
POST /chat/{session_id} 질문 메시지 전송 및 대화 기록 조회
GET /chat/{session_id} 세션의 모든 대화 내역 조회

설치 및 실행 방법

  1. 저장소 클론
git clone [repository-url]
cd time-traveller-chat-bot
  1. 가상환경 생성 및 활성화
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. 의존성 설치
pip install -r requirements.txt
  1. 환경변수 설정
cp .env.example .env
# .env 파일을 열어 필요한 환경변수 설정
  1. 애플리케이션 실행
uvicorn app.main:app --reload
  1. 브라우저 실행

http://127.0.0.1:8000/static/login.html 접속

사용방법

  1. 회원가입 및 로그인하여 액세스 토큰 발급
  2. 최근 대화 세션 선택하거나, 새로운 대화 세션 생성 (예: 1800년의 파리의 예술가)
  3. 자기소개 메시지 수신하여 인물 확인
  4. 해당 시대와 지역에 관련된 질문으로 대화 시작

디렉터리 구조

image

실행화면(GIF)

gif1 gif2 gif3 gif4 gif5

About

ChatGPT API를 통해 과거의 인물에게서 당시의 이야기를 들을 수 있습니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published