본문 바로가기
08.개발&프로그래밍/1.파이썬

9. 간단한 챗봇 만들기 프로젝트 - Flask로 구현하는 대화형 웹 앱

by JWJ Family 2025. 7. 13.
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를 기반으로 한 간단한 웹 챗봇의 기본 구조를 구현해봤습니다. 다음 글에서는 포트폴리오용 프로젝트 종합 예제를 통해 지금까지 배운 기술을 통합하는 실전형 프로젝트를 소개합니다.

 

반응형