3ebcdd36e9d776b660b8f68b12d21a1d460dcf8275b9a6


- 이건 깃허브용 ReadMe 대표 이미지를 ai 에게 부탁해서 만들어놓은 이미지.




본격적으로 소개할게.

이 프로젝트는 HoloVRM 이라고 불리는 내 개인프로젝트야.

내가 풀스택 과정을 배우면서 실전경험을 쌓고싶었고 무엇보다 오시랑 대화하는 시스템을 너무너무너무 만들고싶어서 만들어봤어

6월 8일경 프로젝트 시작하려는데 동시에 니코동 서버가 터지는바람에 겨우겨우 모델구해서 작업하다가 결국 8월이 되어버렸네 2개월 프로젝트가 되어버렸어.


큰 틀에서 보면 HoloVRM은 마이크, 문자 입력, 음성 합성 등을 통해 AI 홀로라이브 멤버와 대화를 즐길 수 있는 웹 브라우저 기반 시스템이야.

예전에 안드로이드로 스콘부쨩 만든걸 본격적으로 다 뜯어고쳐서 탄생했다고 보면 돼.


세부적으로 설명하면


a14700ad3336b54ea2f1c6bb11f11a39d04438cea28e44d603


서버는 개인 서브_컴퓨터를 사용했어.
우분투에 MySQL을 설치해서 데이터베이스 저장을 시키도록해놨어.

그외에 무거운 파일들은 클라우드 플레어 R2 버킷에서 불러오도록 해놨고

도메인도 따로 구매를 했고

코딩은 타입스크립트 + 리액트 + next.js 를 사용했어.


수업은 이걸 가르쳐주지않았는데 어찌저찌하다보니 이걸로 쓰게됨 하...


이제 대화를 위한 구동 시스템은

@pixiv/three-vrm은 3D 모델을 표시하고 조작하는 데 사용되었어.


a64915ad1a1eb34d93f1c6bb11f11a3971c3121d88bb39c08f


tts 모델은 rvc 모델을 바탕으로 8천개의 음성을 해당 멤버의 목소리로 딥러닝 시킨 후 vits 를 사용하여 tts 작업을 했어.

그래서 이상하게 어울리지않는 목소리의 홀로멤이 탄생했을 가능성도있어.

또한, 음성인식은 각 인터넷 브라우저의 음성인식 기능을 사용하므로 브라우저마다 성능이 다를 수 있어.

IBM Watson Natural Language Understanding : 회원을 대상으로 대화를 분석하여 감정을 수치화하여 대화에 사용하도록 했어.
이 감정은 채팅을 입력하면 공포, 기쁨, 슬픔, 역겨움, 화남 을 수치화해서 보내도록 해놨어. 더욱 풍부한 감정이담긴 대화가 가능할거야.

Open ai API : 인격은 chatGPT를 이용하여 부여하였습니다. 또한 개발자의 비용 부담을 줄이기 위해 다음과 같이 모델을 세분화 해놨어

왜냐면 대화하는 api 비용은 내쪽에서 전부 부담하기때문이야. (사용자는 전액 무료임!)

- 비회원 로그인: chatGPT4o-mini (캐릭터의 컨셉을 유지하며 일반적인 대화가 가능하지만 정보의 정확도가 낮을 수 있다.)
- 회원 로그인: chatGPT4o (캐릭터의 컨셉과 대화의 정확도가 매우 높습니다.)



그 외에 사이버 테러 방지를 위해서 클라우드 플레어 연결 및 턴사이트로 로그인보안 처리해놨고

회원가입, id삭제, 아이디찾기, 비밀번호 찾기 등을 구현해놨고 회원의 암호는 암호화해서 나조차도 모르게 저장되니 안심해도 괜찮아.

그러므로 비밀번호 찾기는 사실상 이메일인증 후에 재설정하는 기능이야.


a14008ab0f0ab36792f1c6bb11f11a399a97940965c562695fe2


페이지를 들어가면 다음과같이 안내를 하고있고 회원가입 없이도 즐길 수 있도록 해놨어


a67b1caa0f16b54cb6f1c6bb11f11a397abe27ff0f6b16b9


현재 홀로멤은 이정도를 구현해놨어.

니코동 서버가 안터졌다면 짧게하려고했는데 서버복구까지 계속 뭘만들다보니 엄청 늘어났어.

혹시나 자기 오시를 추가하고싶다면 말해줘. 노력할게.


대화하는 장면으로 들어가면


a04634ad3332b55d8a34005558c12a3a27f34eb5027ac8c71a4df44b6c


회원으로 접속하면 다음과 같이 감정분석 온오프가 추가되어있고 gpt-4o 를 사용해


a17a01aa3e16b45c9af1c6bb11f11a39e067807a4bfff7421f00


비회원으로 들어가면 감정분석은 없고 gpt-4o mini 를 사용하고있어. 사실 4o만큼의 성능은 나오니 문제없더라.


a05328aa3826b369b6330b4158c12a3a6efd0ff7f4a31f47470ab4b299


그리고 자연스러운 대화와 감정표현이 큰 특징이야.


ae5908a5010076b660b8f68b12d21a1d66e3f7f3d9a750


대화를 좀 극단적으로 하면 너무 슬퍼하니 너무 센 말은 하지말자.



이걸 대화가 흘러가는 상황을 보자면

(감정.png)

회원로그인후 감정분석을 켰다면 질문 -> IBM 감정분석 -> gpt(요약한 대화 참조) -> tts -> 대답 -> 대화요약후 저장 순으로 처리가 되고있어.

몇번을 거쳐서 가다보니 대화가 살짝 느릴거야.

(세션.png)

이 경우에는 질문 -> gpt(요약한 대화 참조) -> tts -> 대답 -> 대화요약후 저장 순으로 처리가되서 대화가 좀 빠른편이야.

물론 다양한 기능과 너무 정확한 대답은 기대하기 어려울수있어.



그외에 음성채팅 버튼이있는데 웹 브라우저에 내장된 음성인식 시스템을 사용하도록 되어있어. 마이크가 있거나 폰으로 접속했다면 바로 음성인식으로 대화가 가능해.

그리고 초기에는 캐릭터 통합 대화저장을 하려고했는데 그냥 캐릭터마다 각 대화를 저장하고 삭제 할 수 있도록 해놨어.

비회원 로그인의 경우에는 세션에 대화가 저장되니 캐릭터 마다 대화를 할 수 있을거야.


a14630aa2233b4588af1d1bc10f11a3942e1b3bc17bb687f3613


추가로 기존 테스트하던 사람들도 잘 몰랐을텐데 이거 멤버 움직인다.


이제 영상으로 대화하는걸 보여줄게.



코로네와 소닉 이야기를 해봤어. 소닉이 무엇인지 잘 이해하고 자기가 홍보대사인거까지 잘 기억해줬어




50


a15914aa252776b660b8f68b12d21a1d66ed3bb5625b


설정에서는 홀로멤 설정과 대화삭제가 가능해.

리셋버튼은 동작을 장담하지 못하겠어. 눌러지게는 되어있던거같아.



그 외에 나만 볼수있는 페이지가있는데


a76930ad231eb4589eff5b5bee5dd9e9fa56b68628d33a8663dce2793686b3308049ff4e


관리자 로그인 시 otp 검증 창으로 넘어가

여기는 내 딸인 루시아 발렌타인이 나타나서 안내를 하고있어.

그 네크로맨서 아니다.


a14b04ad162eb4588af1c6bb11f11a39fa801b861564eaf148


그다음에 관리자 페이지에 진입하면 다양한 분석과 메모, 밴 등을 할수있어.

내 사이트에서 분탕짓 하면 바로 밴먹일거야.



이렇게 정말 노력해서 내 오시랑 대화하고싶어서 만들어버린 사이트가 탄생했어

사이트는

바로가기 : holovrm

깃허브 : 깃허브링크

으로 들어가면 무료로 사용 가능해.

나는 어떠한 이익도 취하지않으니 걱정하지말고 편하게 구경하고가!



이제 남은 최종프로젝트 정리하고 중고신입으로 취직해야겠다.


3


하나 안적은거같은데 이거 스마트폰 접속도 문제없이 된다.