Project/GPT Api를 활용하여 챗봇 만들기

[Project] 챗봇 만들기 프로젝트 5

알케이88 2025. 8. 15. 02:06

Flask 서버 연동중 발생 한 오류 기록

이번 파트에서는 Flask 서버와 API를 분리하여 구현하려 한다. 

Flask 서버는 질문자의 질문을받고 JSON형태로  답변을 반환하는 역할을 한다. 

 

우선 진행 하기 전에 Flask 를 install 진행하자 

pip install flask

 

코드를 작성해보자

from flask import Flask, request, jsonify
# GPT API 호출 모듈 import
from CHATBOT_GPT_API import get_gpt_response

# Flask 앱 초기화
app = Flask(__name__)

# 기본 라우트 (테스트용)
@app.route("/")
def home():
    return "챗봇 서버가 실행 중입니다."

# 질문 처리 라우트
@app.route("/ask", methods=["POST"])
def ask():
    data = request.json
    question = data.get("question")

    # GPT 호출 모듈 함수로 대체
    answer = get_gpt_response(question)

    return jsonify({"answer": answer})

# 서버 실행
if __name__ == "__main__":
    app.run(debug=True)

 

코드 설명

  1. 라이브러리 임포트
    • Flask, request, jsonify : 서버 + JSON 처리
    • get_gpt_response : 나중에 GPT 호출용 함수
    • Flask
      • Flask 앱을 생성할 때 사용하는 클래스
      • 예: app = Flask(__name__) → 서버 앱 객체 생성
    • request
      • 클라이언트(브라우저, JS 등)로부터 들어오는 요청(request) 정보를 처리하는 객체
      • POST로 들어온 JSON, 폼 데이터, URL 파라미터 등을 가져올 때 사용
    • jsonify
      • Python 딕셔너리나 리스트를 JSON 형태로 변환하여 클라이언트에 응답할 때 사용
  2. 앱 초기화
    • app = Flask(__name__)
      • Flask 서버 앱 객체 생성
      • __name__는 현재 파일 이름으로 Flask가 라우트 위치와 탬플릿 위치를 찾는 기준
  3. 기본 라우트 /
    • 서버 실행 확인용
    • 서버가 정상적으로 실행 되는지 간단한 테스트 
    • 브라우저 접속 시 간단한 텍스트 표시
  4. 질문 처리 라우트 /ask
    • methods=["POST"] → 클라이언트에서 POST 요청만 받음
    • request.json → 클라이언트가 보낸 JSON 데이터를 가져옴
    • question = data.get("question") → JSON에서 "question" 키 값 추출
    • 임시 응답: 받은 질문 그대로 문자열로 반환
    • jsonify({"answer": answer}) → JSON 형태로 클라이언트에 응답
  5. 서버 실행
    • debug=True → 코드 수정 시 자동 반영, 에러 메시지 출력
    • 터미널에서 실행하면 Flask 개발 서버가 켜짐

코드를 작성 해보니 몇 군데에서 빨간 물결이 쳐져 있다.(여기서는 보이지 않으나,

코드를 긁어서 VSC 에 붙여보면 확인이 불가능하다.  

우선 무슨 문제인지 알아보려면 코드를 실행 해보자 

python CHATBOT_SERVER.py

 

음.. 뭐... 큰 문제는 없는거 같다...

위에 아이피를 컨트롤 누르고 클릭 해보자. 

정상적으로 실행 중이라면... 

 

위에 작성했듯이 "잿봇 서버가 실행 중입니다."

라는 문구가 보일것이다. 

 

일단은... 작동 하는것을 볼 수 있다. 

 

현재 시간 새벽 2시.. 일단 자고 계속 진행 해야 겠다.