08.개발&프로그래밍/1.파이썬
9. 간단한 챗봇 만들기 프로젝트 - Flask로 구현하는 대화형 웹 앱
JWJ Family
2025. 7. 13. 09:18
728x90
웹에서 사용자와 대화하는 챗봇을 만들어보고 싶으신가요? 이번 글에서는 Python의 Flask를 기반으로 사용자의 입력에 따라 응답하는 챗봇 웹 애플리케이션을 만들어보겠습니다. 실습을 통해 챗봇의 핵심 구조와 데이터 처리 흐름을 이해할 수 있습니다.
1. 기본 개념 및 이론
챗봇은 사용자 입력을 받아 분석하고 적절한 응답을 생성하는 시스템입니다. 간단한 챗봇은 조건문과 키워드 매칭으로 동작하며, 웹에서는 HTML과 Flask의 POST 요청 처리로 대화를 구현할 수 있습니다.
- Flask: 웹 서버 구성 및 요청 처리
- request.form: 사용자 입력 폼 데이터 수신
- render_template(): HTML 페이지 응답
2. 실습 예제: 키워드 기반 응답 챗봇
다음 코드는 사용자의 질문에 따라 미리 정의된 답변을 보내는 간단한 챗봇입니다.
# app.py
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def chat():
response = ""
if request.method == "POST":
user_input = request.form["message"]
if "안녕" in user_input:
response = "안녕하세요! 무엇을 도와드릴까요?"
elif "날씨" in user_input:
response = "오늘은 맑고 화창한 날씨입니다."
else:
response = "죄송해요, 아직 학습되지 않은 질문이에요."
return render_template("chat.html", response=response)
if __name__ == "__main__":
app.run(debug=True)
챗봇 데모
간단한 챗봇
전송
챗봇 응답: {{ response }}
3. 출력 결과 및 설명
서버를 실행한 뒤 웹 브라우저에서 http://localhost:5000에 접속하면 챗봇 인터페이스가 나타납니다. “안녕” 또는 “날씨”라고 입력하면 미리 설정된 응답을 반환합니다.
입력: 안녕
→ 챗봇 응답: 안녕하세요! 무엇을 도와드릴까요?
확장 팁: AI 응답 추가, 대화 로그 저장, 챗 UI 개선 등으로 발전시킬 수 있습니다.
정리 및 다음 단계 안내
이번 글에서는 Flask를 기반으로 한 간단한 웹 챗봇의 기본 구조를 구현해봤습니다. 다음 글에서는 포트폴리오용 프로젝트 종합 예제를 통해 지금까지 배운 기술을 통합하는 실전형 프로젝트를 소개합니다.
반응형