GPT기반 카카오톡 AI챗봇 해몽해드림 개발기 1(미완성)

2024. 2. 10. 13:50개발

해몽해드림 임시 썸네일 이미지 (달리)

기간: 2024년 1월 29일 월요일 ~ ing

커뮤니티: 노코더메이커클럽 (https://nocoder.oopy.io/)

 

 노코더메이커클럽을 통해서 GPTs 만들기와 oopy을 이용한 랜딩페이지 만들기를 배웠다. 나 역시 해몽을 해주는 GPTs(https://chat.openai.com/g/g-x8JY6xLxi-dream-weaver)를 만들고 랜딩페이지까지 만들어 봤지만, 내가 의도한 것은 "쉽고 가벼운 접근과 사용"이 가장 중요하기 때문에 현재 베타 버전인 AssistantAPI를 이용해서 카카오톡 챗봇을 개발해보기로 했다. 

  1. 카카오톡 채널(http://pf.kakao.com/_lxaxfxaG)도 만들고, 챗봇도 생성해서 연결하고,
  2. OpenAI AssistantAPI로 같은 GPT를 다시 만들고,
  3. AWS 람다(Lambda)와 API Gateway를 이용해서 백엔드도 만들었지만,

아직 구현에 실패했다. 포인트는 콜백(Callback)인데, 아래 도식으로 설명할 수 있다.

  1. 챗봇 채팅창에서 '떨어지는 꿈을 꿨어'라고 채팅을 입력하면, utterance(발화)와 callbackUrl 정보가 람다 함수로 event에 포함되어 전달된다. 이때부터 챗봇은 5초간 회신을 기다린다.
  2. 람다 함수는 먼저 useCallback 정보를 회신한다. 그리고 OpenAI AssistantAPI에 utterance를 전달하여 회신을 받는다.
  3. 챗봇은 useCallback 정보를 받고서 1분간 callbackUrl로의 회신을 기다린다.
  4. 람다 함수는 AssistantAPI로부터 받은 회신 내 message를 callbakUrl로 POST한다.
  5. 유효한 POST 요청이 callbackUrl로 들어오면 (답)채팅을 입력한다. HTTP Error 400: Bad Request
{...
    "status": "FAIL",
    "message": "Invalid Callback token. Check your Callback token.",
...}

콜백URL의 토큰이 유효하지 않다는 에러인데, 어디서 잘못된건지...;; 난감하다. 연휴가 끝나면 고객센터에 문의해서 해결해야한다.

참조

https://kakaobusiness.gitbook.io/main/tool/chatbot/skill_guide/ai_chatbot_callback_guide

https://cookbook.openai.com/examples/assistants_api_overview_python

https://youtu.be/MVHSao-sidM?si=XrD2YkDGWDUU0we9

728x90
반응형