0. 포스팅 목록 & GitHub
(깃허브 스타 버튼 눌러주시면 글 작성에 큰 도움이 됩니다!)
https://github.com/Seokii/Chatbot4Univ
GitHub - Seokii/Chatbot4Univ: 대학생을 위한 AI 질의응답 챗봇 만들기
대학생을 위한 AI 질의응답 챗봇 만들기. Contribute to Seokii/Chatbot4Univ development by creating an account on GitHub.
github.com
https://seokii.tistory.com/146
[Project] 대학생을 위한 AI 질의응답 챗봇 만들기
1. GitHub https://github.com/Seokii/Chatbot4Univ GitHub - Seokii/Chatbot4Univ: 대학교 재학생을 위한 AI 질의응답 챗봇 대학교 재학생을 위한 AI 질의응답 챗봇. Contribute to Seokii/Chatbot4Univ development by creating an account o
seokii.tistory.com
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 작성 파일의 예시입니다. 다음 글에서 자세히 다루도록 하겠습니다.


댓글