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를 기반으로 한 간단한 웹 챗봇의 기본 구조를 구현해봤습니다. 다음 글에서는 포트폴리오용 프로젝트 종합 예제를 통해 지금까지 배운 기술을 통합하는 실전형 프로젝트를 소개합니다.
반응형
'08.개발&프로그래밍 > 1.파이썬' 카테고리의 다른 글
보너스 챕터: 1. 파이썬 코딩 테스트 준비 전략 (0) | 2025.07.15 |
---|---|
10. 포트폴리오용 프로젝트 종합 예제 만들기 - 실전 역량을 완성하는 통합 프로젝트 (0) | 2025.07.13 |
8. Flask로 웹 앱 만들기 입문 - Python 웹 개발 기초 (0) | 2025.07.13 |
7. 데이터 시각화 기본 - matplotlib과 seaborn 입문 (0) | 2025.07.13 |
6. 자동화 봇 만들기 - 스케줄링과 키보드/마우스 자동화 기초 (0) | 2025.07.13 |