1. 카카오 채널을 만든다.(사업자번호가 있으면 좋지만 이번 포스팅에선 사업자번호 없이 진행)(완료)
2. 카카오 챗봇을 만들어서 채널과 연결한다.(완료)
3. 2번에서 만든 챗봇이 내가 원하는 대로 답변하게 하기 위한 환경을 만든다.(Flask 무료 클라우드)
4. 챗봇 응답 디테일 설정(ex. 사용자의 메시지에 A 또는 B 또는 C가 들어가면 D라는 응답주기)
이번 포스팅에서는 챗봇의 응답을 설정하고 테스트해 보도록 한다.
앞에서 만든 flask 서버에서 진행하는 내용이 중간에 들어있으니, 잘 따라 하시길 바랍니다.
1. 카카오 챗봇 관리센터 접속 후 지난 포스팅에서 만든 챗봇을 눌러준다.( https://chatbot.kakao.com/ )
그리고 시나리오 추가 버튼을 클릭한다.
여기서 이루어지는 행위를 실생활에 적당히 비유를 해보자면(사용자의 이해를 돕기 위함이므로, 의미가 100% 일치하는 것은 아닙니다.)
1. 시나리오(하나의 상황)를 추가한다.
2. 블록(내가 하고 있는 사업 챗봇)을 추가한다.
3. 발화(사용자가 해당 챗봇에 들어와서 문의할 내용)를 추가한다.
여기에서 '발화'라는 것은 '사용자가 입력할 것 같은 대표 단어 또는 문장' 정도로 적당히 해석할 수 있다.
일반적으로는 유사한 내용을 쉽게 묶기 위해 단어로 많이 사용한다.
아래와 같이 추가해 본다.
블록 : Store
발화 : 가격, 수량
엔터 모양을 누르면 발화를 추가할 수 있고, 최종적으로 저장버튼을 누르면 된다.
그리고 가격, 수량과 유사한 의미로 질문이 왔을 때 동일한 답변을 줄 수 있도록 설정한다.
발화 영역을 더블클릭하면 엔티티라는 작은 팝업이 올라오고 '새 엔티티로 추가하기' 버튼을 누른다.
예를 들어 누군가는 '가격'을 물어볼 때,
'얼마'에요? 또는 '금액'을 알려주세요 등 다르게 질문할 수 있기 때문에 위와 같이 설정해 주었다.
결국 질문을 어떻게 해도 해당 질문은 '가격'으로 취급하겠다는 의미이다.
다시 더블클릭을 해보면 내가 방금 추가한 엔티티가 보인다.
클릭해서 매핑을 시켜준다.
수량도 마찬가지로 진행하고, 아래 캡처화면을 따라 하면 된다.
아래는 등록이 다 된 모습이다.
동그라미 친 '파라미터'를 받아서 flask 서버에서 처리해 주는 작업을 하겠다.(내가 원하는 답변을 지정)
나의 플라스크 서버 관리 화면으로 들어간다.
아래 전체 소스코드를 복사/붙여 넣기하고 저장한다.
# A very simple Flask Hello World app for you to get started with...
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from Flask!'
@app.route("/stockprice", methods=['POST'])
def stockprice():
req = request.get_json()
param = req["action"]["detailParams"]
answer = ''
if('stock' in param):
answer = '스킨 수량이 10개 남았습니다.\n로션 수량이 5개 남았습니다.'
if('price' in param):
answer = '스킨은 5,000원입니다.\n로션은 6,000원입니다.'
# 답변 텍스트 설정
res = {
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": answer
}
}
]
}
}
# 답변 전송
return jsonify(res)
그리고 다시 메인페이지로 돌아와서 아래 버튼을 눌러준다.
수정한 소스파일을 실제로 적용하는 행위이다.
이제 거의 다 되었다.
마지막으로 챗봇과 플라스크 서버를 연동만 하면 된다.
다시 챗봇 관리자 화면으로 돌아가서 화면 좌측 스킬 메뉴를 누른다.
생성 버튼을 누르고 아래 두 개만 입력해 주면 되는데
이때, URL은 그대로 쓰면 안 되고 자신의 URL을 입력해주어야 한다.
나의 포스팅을 처음부터 따라 했다면, 도메인 앞에 artistjay 부분만 바꾸어주면 될 것이다.
마지막으로 다시 '시나리오' 탭으로 이동한 후 스크롤을 조금 내려보면
'파라미터 설정'과 '봇 응답'이 보일 것이다.
방금 생성한 수량금액 스킬을 선택하고, 봇 응답을 스킬데이터로 클릭해 준다.
지금까지 진행한 내용을 모두 저장 후 우측상단 '봇테스트'를 진행해 보자.
얼마 = 가격으로 인식하는 부분도 확인 가능하고, 재고도 확인 가능하다.
지금은 단순 테스트를 위해 가격, 수량 등을 고정으로 지정하였지만 조금만 더 개선시킨다면 내가 별도로 관리하는 화면들과 연동해서도 사용이 가능할 것이다.
실제 카카오 챗봇에 배포하는 방법은 매우 쉽다.
배포 메뉴에 들어가서 '전체 배포'에 체크하고 배포 버튼을 눌러주면 된다.
상황에 따라 부분 배포를 할 수도 있겠지만 간단히 사용하는 것이라면 뭐 굳이.. 안 해도 된다.
이것으로 카카오 챗봇 연동하기 끝!
'개발 > Flask+카카오챗봇' 카테고리의 다른 글
쉽게 따라하는 카카오톡 채널 자동응답 챗봇 만들기 - 3편(flask 서버 구축하기) (2) | 2024.10.12 |
---|---|
쉽게 따라하는 카카오톡 채널 자동응답 챗봇 만들기 - 2편(챗봇 만들기) (0) | 2024.10.05 |
쉽게 따라하는 카카오톡 채널 자동응답 챗봇 만들기 - 1편(카카오 채널 생성) (3) | 2024.09.29 |