- 카카오 비즈니스를 활용해 <봉추찜닭> 음식점을 소개하는 챗봇을 생성하였다. 다음 단계로는 카카오챗봇과 연동할 스킬 서버를 생성하고자 한다.
- 처음에는 로컬 서버를 활용해 연동하려고 하였으나, 로컬 서버 사용 시 오류가 발생했다. (로컬 서버는 항상 구동되고 있지 않으므로 당연하다.) 구글링을 통해 Groom, Heroku 등 클라우드 환경에서 서버 생성 및 배포를 진행할 수 있음을 알게 되었다.
- Groom ide를 활용하고, 스킬 서버 생성 강의 영상을 참고해 스킬 서버 생성 및 카카오 챗봇과의 연동을 진행해보고자 한다.
사용자의 요청과 그에 따른 프로그램의 동적인 응답을 중계해주도록 개발한 프로그램과 연결해주는 요소이다.
👩🏻💻 구름 ide
구름 IDE를 사용한 이유는 다음과 같다.
from flask import Flask, request
import sys
application = Flask(__name__)
@application.route('/')
def hello_world():
return 'Hello, World!'
@application.route("/name", methods = ["POST"])
def name_function():
body = request.get_json()
print(body)
print(body['userRequest']['utterance'])
responseBody = {
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": "안녕하세요. 봉추찜닭입니다.\n충무로점을 새롭게 오픈했습니다.\n많이 찾아주세요 😊"
}
# "simpleImage": {
# "imageUrl": "http://k.kakaocdn.net/dn/jur1c/btrN5wwGslk/RU9W2xYA4RiRfnafDmkbh1/resize.jpg",
# "altText": "봉추찜닭입니다"
# }
}
]
}
}
return responseBody
if __name__ == "__main__":
application.run(host='0.0.0.0', port=int(sys.argv[1]), debug = True)
아래 사진처럼 카카오 개발문서(응답 타입 별 json 포맷)의 예시 코드들을 이용하여 flask application.py 의 코드 작성을 진행했다.
groom ide의 구성은 다음과 같다 (flask, vscode 사용)
groom ide에서 생성한 flask 서버의 이름 페이지 URL을 복사하여 스킬 서버 생성에 사용한다.
flask 서버를 실행시킨 후 <스킬서버로 전송> 버튼을 클릭해 응답이 제대로 이루어지는지 확인한다.
vscode 터미널 창에 다음 명령을 입력해 서버를 활성화시킨다.
python application.py 80
💡 봇 테스트를 통한 확인
사용자가 '이름'을 입력했을 때, 가게 이름 출력이 제대로 되는 것을 볼 수 있다.
groom을 사용한 카톡 챗봇 API 생성 (스킬 서버)