728x90
반응형
0. 포스팅 목록 & GitHub
(깃허브 스타 버튼 눌러주시면 글 작성에 큰 도움이 됩니다!)
https://github.com/Seokii/Chatbot4Univ
https://seokii.tistory.com/146
1. 시작 문구 추가
@app.route('/hello', methods=['GET'])
def index():
try:
message = "안녕하세요, 호서대학교 챗봇 바울(PAUL)입니다.\n" \
"현재 다음 기능을 제공하고 있습니다.\n" \
"1.번호안내 2.장소안내\n" \
"사용예시 - (학과/트랙/기관명)번호 알려줘, (건물이름)위치 알려줘\n" \
"사용예시2 - 컴퓨터공학부 번호 알려줘, 상담실 위치 알려줘\n"\
"답변 받고 싶은 질문을 입력해주시면 빠르게 업데이트 하겠습니다."
json_data = {
'message': message
}
message = json.dumps(json_data, ensure_ascii=False)
message = json.loads(message)
return jsonify(message)
except Exception as ex:
# 오류 발생 시 500 Error
abort(500)
API에 /hello 라우트를 추가해 챗봇 클라이언트에 접속시, GET방식으로 메시지를 받아오도록 설정했습니다.
2. 퀵리플라이형 json 객체 받아오기
# 챗봇 엔진 query 전송 API
@app.route('/query/<bot_type>', methods=['GET', 'POST'])
def query(bot_type):
body = request.get_json()
try:
if bot_type == 'NORMAL':
# 일반 질의응답 API
ret = get_answer_from_engine(bottype=bot_type, query=body['query'])
return jsonify(ret)
elif bot_type == 'QUICK':
with open("/home/hoseo420/python_chatbot/Chatbot4Univ/chatbot_api/static/json/quick_reply.json", "r", encoding='utf-8') as json_file:
jdata = json.load(json_file)
return jdata
else:
# 정의되지 않은 bot type인 경우 404 Error
abort(404)
except Exception as ex:
# 오류 발생 시 500 Error
abort(500)
챗봇을 사용하다보면 사용자가 직접 질문을 입력하고 응답을 받아오는 구조가 있고,
버튼을 눌러 빠르게 원하는 답변을 받아오는 퀵리플라이형 구조가 있습니다.
chatbot_api 폴더의 static/json 폴더를 생성하고 quick_reply.json의 형태로 파일을 작성했습니다.
퀵리플라이형의 버튼을 선택시, GET 방식으로 해당 json 객체를 받아올수 있도록 구현했습니다.
학사 일정, 도서관 이용 안내, 학칙 및 규정과 같은 사용자 어플리케이션에서 메뉴 버튼을 만들어 빠르게 답변을 받아올수 있는 방식으로 구현될 예정입니다.
json 작성 파일의 예시입니다. 다음 글에서 자세히 다루도록 하겠습니다.
728x90
반응형
'머신러닝 & 딥러닝 > 자연어처리' 카테고리의 다른 글
대학교 AI 질의응답 챗봇 만들기 - 14. 챗봇 API 개선하기(3) (0) | 2022.11.16 |
---|---|
대학교 AI 질의응답 챗봇 만들기 - 13. 챗봇 API 개선하기(2) (0) | 2022.11.16 |
대학교 AI 질의응답 챗봇 만들기 - 11. 챗봇 API 만들기(Flask API) (0) | 2022.07.31 |
대학교 AI 질의응답 챗봇 만들기 - 10. 챗봇 엔진 서버 개선하기 (2) | 2022.07.30 |
대학교 AI 질의응답 챗봇 만들기 - 9. 챗봇 엔진 서버 테스트 (0) | 2022.07.30 |
댓글