#0 개발 배경
LLM 관련 기술에 흥미가 있다보니 조금씩 기술에 대해서 찾아보고 있는데, LLM을 활용한 친구나 비서 등 굉장히 많은 서비스가 이미 나오고 있었다.
예전부터 AI를 사용한 서비스를 구현해보고 싶었기 때문에 이번 SSAFY 팀 프로젝트에서 아래의 주제를 기획하게 되었다.
주제: '사회적 추론 게임(마피아 게임) 시스템을 접목한, LLM 평가 데이터 셋 수집 플랫폼'
아래와 같은 개요로 현재 결정한 아이디어의 피드백을 받기 위해 교수님들에게 메일을 보냈었다.
***
#1 기능 설정
1. 사용자
목표: 사용자의 입장에서 개발하기 << 혼자 사용할 것이라고 생각해서 편한 길로 개발하는 것 보다는, 사용자의 편의성을 위해 내가 어떤 방식의 개발까지 해보았는지에 대한 경험이 있으면 좋겠다고 생각했다.
1) 회원가입
2) 로그인
3) 토큰 방식 인증
4) 세션 관리
2. 게임 생성 / 관리
다음 장에서 이전에 개발했던 텍스트 어드벤처 플랫폼과 다른 웹 서비스들을 보고 상세히 결정해야겠다.
3. 스토리 진행 방식 - RAG
SSAFY 관통 때, 완벽하게 구현해보지 못했던 RAG를 사용해서 마피아 게임 챗봇 기능을 올리고 싶은데 가능할지
4. 토큰 결제
paddle을 사용해서 게임 관련 상품을 구매하는 기능을 넣어보고 싶다.
5. 데이터 시각화
개인적으로 대시보드 페이지를 만들고 싶은데 유의미한 서비스 품질 상승으로 이어질지 잘 감이 오지 않는다.
#2 기술 스택 선택
1. 도커 사용
이번 개발은 개인 사정과 모델 학습으로 인해 다양한 노트북 및 컴퓨터에서 진행될 것 같다.
따라서 개발 환경 설정을 간소화해주는 도커를 사용하고자 한다.
초기 학습 시간이 필요하며, 여러명과 협업하는 것이 아니니 효율이 뛰어나다고 할 수는 없으나,
다음 협업 개발에서 사용하기 위한 학습이며 동시에, 혹시? 나중에 프로젝트가 잘되면 배포 후 쿠버네티스도 써볼 수 있는 기회가 되지 않을까 싶다.
2. 백엔드 - Java Spring, FastAPI
RAG를 사용한다면 hugginface를 사용한 토크나이저, pandas를 이용한 데이터 분석, langchain 활용 등을 위해서 python 서버가 필요하다. 허나 6인 팀으로 진행되는 지금 팀원들이 백엔드를 Spring으로 학습하고자 하기 때문에 둘을 동시에 운영하는 방법을 찾고자 한다.
python 서버에 요청이 몰린다면 Nginx등을 사용해서 트래픽 분리를 해보는 것을 목표로 한다. (잘모름)
3. 프론트엔드 - Typescript, Vite, React, Tailwind css
먼저 React + Tailwind css의 경우 경험상 GPT로 스켈레톤 코드를 만드는 것이 편하고, 퀄리티가 높으며, 디테일을 수정하기에 용이했다. 개인 프로젝트이기 때문에 프론트엔드는 GPT를 최대한 효율적으로 사용하는 방향으로 가고자 한다.
또한 Tailwind css 는 부트스트랩 같은 것들과 비교해서 훨씬 자유도 높은 디자인을 가능하게 해준다고 생각했다.
vue가 아닌 React를 사용한 이유는, 개인적으로 최근 프로젝트에서 사용한게 vue여서 그쪽이 더 편하겠으나,
단순히 웹 서비스가 아닌, 웹으로 구현되는 게임 시스템을 만들고자 하기 때문에 프로젝트 개발시 유연성이 더 필요할 것이라고 생각했다
4. DB - mysql, psql (?)
싸피 과정중에서 배웠던 RAG를 구현할 때, pgvector를 사용하는 방법을 복습하고자 한다.
아니면 vector db를 사용해야 하는데, 좀 더 알아봐야겠다.
이는 psql과 결국 연동이 되므로 이를 사용하고자 한다.
5. 그 외 - github, GCP or AWS, paddle
GCP의 배포 경험이 있으며, 무료 할당량이 있으니 GCP에서 배포한다.
일단 팀원 중 배포 담당 팀원은 AWS 경험이 있어서 AWS로 개발하려고 하니 그 쪽 방향이 될 것 같다.
'프로젝트 기록 > LLM 게임 프로젝트' 카테고리의 다른 글
개발 리뷰 -10- 메인 페이지 개발 (0) | 2025.01.23 |
---|---|
개발 리뷰 -9- 실시간 채팅 구현을 위한 Websocket, webRTC 선행 (0) | 2025.01.16 |
개발 리뷰 -8- FE 로그인, 로그아웃 개발 (0) | 2025.01.13 |
개발 리뷰 -4- FE 개발 환경 세팅 (0) | 2025.01.06 |
개발 리뷰 -3- 화면 설계 (figma) (0) | 2025.01.03 |