상담봇에 아이디와 암호로 입장한 뒤 볼 수 있는 페이지
상담봇에서 입장하기똥꼬박사 상담봇은 이용자의 브라우저, 연구실 웹 서버, 외부 인공지능 서비스의 세 부분이 각자 잘하는 일을 나누어 맡는 구조로 설계하고 만들었다. 이용자의 휴대폰이나 컴퓨터 브라우저는 화면 표시와 마이크 녹음, 소리 재생만 맡고, 질문을 이해하고 답을 만드는 무거운 계산은 모두 서버 너머에서 처리한다. 연구실 웹 서버는 입장 확인, 지식 검색, 대화 기록 저장을 맡으며, 비밀 열쇠와 대화 기록은 웹에서 직접 열 수 없는 비공개 폴더에 따로 보관한다. 답변 생성과 음성 인식, 음성 합성은 OpenAI의 언어 모델과 음성 모델을 불러 쓰고, 그 결과를 서버가 받아 이용자에게 조금씩 흘려보내 답이 실시간으로 써지는 것처럼 보이게 한다.
| 구성 요소 | 맡는 일 | 비고 |
|---|---|---|
| 이용자 기기 | 화면 표시, 마이크 녹음, 목소리 재생, 캐릭터 동작 전환 | 크롬·사파리 최신 버전, 마이크 권한 필요 |
| AIForA Lab 웹 서버 | 입장 확인, 지식 검색, 외부 모델 호출 중계, 대화 기록 저장 | 비밀 열쇠와 기록은 웹 공개 폴더 밖에 보관 |
| OpenAI 클라우드 | 답변 생성, 말을 글로 바꾸기, 글을 목소리로 바꾸기 | 호출한 만큼 비용 발생 |
| 캐릭터 제작 환경 | 캐릭터 정지 그림과 5초 동작 영상 생성 | 상담 전에 한 번 만들어 서버에 올려 둠 |
| 향후 자체 모델 서버 | 외부 모델 대신 연구실 GPU (Graphics Processing Unit, 그래픽 처리 장치) 서버에서 소형 언어 모델 운영 | BARO H200 서버, 루멘 서버 검토 |
| 순서 | 글로 대화 | 말로 묻기 | 음성 대화 |
|---|---|---|---|
| 1 | 질문을 글로 입력 | 마이크로 녹음한 뒤 서버의 stt 가 글로 바꿈 | |
| 2 | 서버의 chat 이 아이디로 지난 방문 대화를 찾고, 질문과 겹치는 지식을 kb 표에서 골라 안전 원칙과 함께 대화 모델에 보냄 | ||
| 3 | 대화 모델의 답을 토막 단위로 받아 화면에 바로 흘려보내고, 질문과 답을 messages 표에 기록 | ||
| 4 | 글 답변 표시 (원하면 소리로 듣기) | 서버의 tts 가 답을 목소리로 바꾸고, 캐릭터가 목소리 크기에 맞춰 움직이며 말함 | |
똥꼬박사는 진단을 하지 않고 건강 정보와 생활 수칙만 안내하며, 피가 많이 나거나 변 모양이 오래 바뀌는 등 대장암 경고 신호가 보이면 상품 추천보다 대장항문외과 진료를 먼저 권하도록 지시되어 있다. 상품 정보와 의학 정보는 지식 관리의 kb 표에 나누어 등록하고, 답변에서 상품을 소개할 때는 의학 정보와 섞이지 않도록 똥꼬샵 상품이라고 밝히게 했다. 대화 기록은 아이디와 함께 서버의 비공개 폴더에만 저장하고, 녹음한 음성은 글로 바꾼 뒤 저장하지 않으며, 다시 찾아온 이용자에게는 지난번 질문을 이어 물을 수 있도록 최근 대화 일부만 참고한다. 입장은 아이디와 공용 암호로 하고, 서버에는 암호 자체가 아니라 암호를 변환한 값만 두며, 입장 뒤 받은 토큰은 열두 시간이 지나면 저절로 만료된다.