http://43.202.126.252:8080/ [서비스는 현재 종료되었습니다.]
- 서비스 이용시, 가급적이면 Chrome 시크릿모드를 사용해주세요 (간혹 쿠키, 캐시 기록 때문에 서비스 이용이 원할하지 않을때가 있습니다!)
- ChatDa 서비스 주요 특징은 다음과 같습니다.
- 마치 친구와 대화하는 듯한 느낌을 사용자가 받을 수 있도록 친근하고 자연스러운 대화에 집중했습니다.
- 메인 페이지에 접속하면 이름을 입력하고 대화를 시작할 수 있습니다.
- 대화를 마치고 지금까지의 대화 내역을 바탕으로 생성된 일기를 확인할 수 있습니다. (일기는 ver1, ver2가 동시에 제공되며 사용자는 택1 가능)
- 유저가 종료 버튼을 누르거나 대화를 종료하고 싶다는 느낌의 채팅을 보내면 챗다가 일기를 생성해줍니다.
- 캘린더 페이지에서는 날짜별로 작성된 일기를 조회할 수 있습니다.
- 일기 생성시 사용될 사용자 글쓰기 스타일은 사용자가 직접 만들 수 있습니다. ('새'라는 단어에 대한 짧은 글 작성시, ChatGPT가 해당 글에 대해 문체를 분석하여 결과 제공)
- Moderation을 통해 심의에 위반될 정도의 소재가 언급되면 해당 채팅이 경고로 처리됩니다. (챗다는 이러한 응답에 대해 적절한 응답으로 대응하므로 해당 응답은 가려지지 않고 출력됨)
- 프롬프트 설계
- ChatGPT와의 대화가 자연스럽게 이어지도록 설계하였습니다.
- 하나의 주제에 대해 여러번 물어보는 것을 방지하기 위해 "오늘 날씨", "오늘 먹었던 음식", "오늘의 기분" 등 미리 저장해둔 화제 내에서 랜덤하게 전환되도록 구성하였습니다.
- 한 화제에 대해서는 2~3 정도의 사용자 응답에 대해 반응하도록 설정하였습니다. (여기서의 응답에는 사용자의 채팅에 대한 응답뿐 아닌 해당 화제에 관한 추가적인 질문도 포함)
- 다음 화제로 넘어가기 전 마지막 ChatGPT의 응답은 사용자에게 추가 질문 없이 한문장으로 짧게 반응하도록 설계하였습니다.
- 사용자의 채팅에 대해 응답 및 질문을 할때에는 보다 자연스러운 반응을 위해 ChatGPT API 요청을 두번으로 나누어 응답과 질문을 생성하였습니다.
- 대화를 종료하고 일기를 작성하는 부분에서는 "일기 작성해줘", "오늘 대화는 여기까지 할게", "그만하자" 등의 대화 종료 의지가 담긴 문자에 대해 임베딩값을 생성하여 DB에 저장한 후, 사용자의 응답마다 임베딩 값을 생성하여 DB에 저장된 임베딩 값과 비교하여 유사도가 높을 경우 대화를 종료하고 일기를 생성하도록 설계하였습니다.
아래의 예시 사진을 참고해 주세요!
- 최종 Demo 로그인 화면입니다.
- 새로운 계정을 만들거나, 로그인을 통해 챗다 메인 화면으로 이동합니다.
- 메인 화면에서는 '대화', '일기장', 글쓰기 스타일' 카테고리 선택이 가능합니다.
- '대화'를 누르면 챗다와의 채팅 화면으로 넘어갑니다.
- '일기장'을 누르면 캘린더에 저장된 본인의 일기들을 볼 수 있습니다.
- '글쓰기 스타일'에서는 일기 작성에 사용될 문체를 설정할 수 있습니다.
- 최종 데모 버전에서는 화제 개수와 대화 횟수에 대한 제한이 없습니다.
- 1차 데모와 비교하여 더 다양한 화제에 대해 긴 대화를 나눌 수 있습니다.
- 챗다와의 대화중 '일기를 작성해줘', '오늘 대화는 여기까지 할게' 등의 대화 종료 의지가 담긴 뉘앙스의 채팅을 보내면 챗다는 일기를 작성해줍니다.
- 또는 우측 상단의 아이콘을 클릭하여 수동으로 일기 작성을 시작할 수 있습니다.
- 일기 ver.02는 사용자의 문체를 바탕으로 작성된 일기입니다.
- 사용자 문체는 메인 화면에서 '글쓰기 스타일'을 통해 언제든지 바꿀 수 있습니다.
- 생성된 일기는 캘린더에 자동으로 저장되며, 메인 화면에서 '일기장'을 클릭하면 캘린더 페이지로 넘어옵니다.
- 메인 화면에서 '글쓰기 스타일'을 클릭하면 분석된 자신의 문체(글쓰기 스타일)를 확인할 수 있습니다.
- '새'라는 단어에 대한 짧은 글을 자신만의 스타일로 작성하면, ChatGPT가 자신의 문체를 분석해줍니다.
- 새롭게 다른 느낌의 문체를 제작하고 싶다면, '다시하기'를 통해 문체 생성 페이지로 넘어갑니다.
김진호(@Jinho622) / 박재현(@ParkJh38) / 송영범(@zxc534) / 진용욱(@roadl)