[사이드프로젝트] 개인용 챗봇 심챗(simChat)
본인은 챗봇 솔루션 회사에서 재직중이다. 기존 우리회사에서 쓰는 챗봇 솔루션이 썩 나쁘지는 않으나, 회사 자산이다보니 해당 엔진을 이용하여 개인적으로 무언가를 만들고 외부에 공개하는 것은 무리이다. 그러다 Bert모델을 알게 되었다. 한국어 자연어 처리 모델이다. 자세한 내용은 아래 링크를 확인 https://happy-obok.tistory.com/23 그래서 개인 포트폴리오 겸 챗봇솔루션을 제작하게 되었다. 간단하게 아래 4가지 기능을 핵심으로 가져간다. 1. 질의 응답 등록 : 유저의 예상 질문과 그에 해당하는 답변을 등록한다. 2. 데이터셋 만들기 : 등록된 질의응답을 CSV(혹은 텍스트도 되지만 csv가 구분하기 좋고 Excel에서 편집하기도 좋고)로 추출. 이 데이터는 Bert모델의 Input으로 사용되어 VectorDB로 저장된다. 3. 챗봇 메신져 : 여기서 질문하면 Bert모델이 설치된 Flask서버로 요청한다. 응답을 리턴받아 출력하여 답을 내놓는다. 4. Bert 모델 : VectorDB를 통해 입력받은 키워드와 비교하여 유사도를 분석하여 지정된 answer를 내놓는다. 디자인은 너무 감이 없어서 라라벨 + 제트스트림에 제트스트랩을 적용하였다. 이렇게 개인 프로젝트를 할 때면 디자인 감각이나 기술도 따로 배워야 하나 싶다. ** 성능 이슈.... 1) 개인용 클라우드 서버 성능이 너무 좋지 않아서 Gunicon 워커를 1개로 지정했더니 Bert의 답변요청처리 병목 현상 이슈가 있음. 2) pyTorch 디바이스가 GPU가 아님 CPU다 보니 가뜩이나 좋지 않은 서버 성능으로 가끔씩 버벅임.... ㅠ 결론. 클라우드 서버 사양을 좀 더 올려야 하나 고민중... https://simchat.aimor.site