캐릭터 인격 생성을 통한 캐릭터 채팅 서비스
- 프롬프트 엔지니어링을 통하여 사용자가 원하는 캐릭터의 이름, 소개, 상황, 성격 등을 설정하고, 해당 캐릭터와 자유롭게 대화를 나눌 수 있는 서비스입니다.
- 기간: 2023.10 ~ 2024.03 (6개월)
- 인원: 3명 (BE 1, FE 1, AI 1)
- 백엔드 시스템 설계 및 개발 전반 (FastAPI, MongoDB)
- GPT 대화 로직 구현 및 테스트 자동화
- EC2, Nginx, Uvicorn 기반 배포 환경 구성
|
|
| 캐릭터 목록 | 캐릭터 상세 설정 확인 |
|
|
| 캐릭터 생성 | 캐릭터 대화 |
- Backend: FastAPI, Python, Uvicorn
- Database: MongoDB
- Infra: AWS EC2, S3, Nginx
- 협업 도구: GitHub, Figma, Slack
기능(도메인) 단위로 controller, model, schema, router를 분리하여, 유지보수성과 가독성을 높였습니다.
backend
├─ README.md
├─ app
│ ├─ __init__.py
│ ├─ ai # GPT
│ │ ├─ Custom.py
│ │ ├─ Custom2.py
│ │ ├─ __init__.py
│ │ └─ badwords.json
│ ├─ controller # CRUD 로직 구현
│ │ ├─ __init__.py
│ │ ├─ character_controller.py
│ │ ├─ chat_controller.py
│ │ ├─ situation_controller.py
│ │ └─ user_controller.py
│ ├─ main.py
│ ├─ models # 데이터베이스 모델 정의
│ │ ├─ __init__.py
│ │ ├─ characters.py
│ │ ├─ chats.py
│ │ ├─ situations.py
│ │ └─ users.py
│ ├─ routers # 라우터 정의
│ │ ├─ __init__.py
│ │ ├─ characters.py
│ │ ├─ chats.py
│ │ ├─ situations.py
│ │ └─ users.py
│ └─ schema # 스키마 정의
│ ├─ __init__.py
│ ├─ character_schema.py
│ ├─ chat_schema.py
│ ├─ situation_schema.py
│ └─ user_schema.py
├─ requirements.txt
└─ start.sh # 실행용 쉘 파일



