Machine learning/Chatbot

[위로봇 프로젝트]. 오복이 육아일기 2일차 - 설계

Acdong 2022. 12. 6. 23:42
728x90

2022.12.06 - [Chatbot] - [위로봇 프로젝트]. 오복이 육아일기 1일차 - 소개

위로봇 오복이의 프로세스는 아주 간단하게 설계되어있습니다.
웹 서버는 Python 언어를 기반으로한 FastAPI를 사용했습니다.
웹 서버와 같은 인스턴스 안에는 엘라스틱서치 검색엔진이 있습니다.

오복이 설계도


데이터 흐름 시나리오

1. 카카오톡 채널 유저 채팅

카카오톡 채널에 접속한 유저가 채팅을 전송하면
채팅 데이터는 직접 구축한 GCP 서버로 요청을 보냅니다.

2. FastAPI Web Server

웹 서버인 fastapi는 요청을 받아
질문의 텍스트만 파씽하고 질문을 엘라스틱서치 쿼리로 전송합니다.

3. ElasticSearch

검색엔진인 엘라스틱서치는 질문의 텍스트와
가장 비슷한 질문을 검색하고 그 질문에 대한 대답을 응답으로 웹 서버에 보내줍니다.

4. 카카오톡 채널 유저 답변

웹서버는 검색엔진을 통해 나온 응답을 카카오톡 템플릿으로 형식을 맞춰
카카오 채널로 응답을 내보냅니다.


안전한 서비스를 위해 엘라스틱서치 서버와 웹 서버는 분리하는게 좋습니다.
하지만 비용적인 측면에서 서버 한대에 다 몰아 넣었습니다.
다음에는 웹 서버 구축과 엘라스틱 서치 설치 방법에 대해 포스팅해보겠습니다.

반응형