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)
코드 설명
- 라이브러리 임포트
- Flask, request, jsonify : 서버 + JSON 처리
- get_gpt_response : 나중에 GPT 호출용 함수
- Flask
- Flask 앱을 생성할 때 사용하는 클래스
- 예: app = Flask(__name__) → 서버 앱 객체 생성
- request
- 클라이언트(브라우저, JS 등)로부터 들어오는 요청(request) 정보를 처리하는 객체
- POST로 들어온 JSON, 폼 데이터, URL 파라미터 등을 가져올 때 사용
- jsonify
- Python 딕셔너리나 리스트를 JSON 형태로 변환하여 클라이언트에 응답할 때 사용
- 앱 초기화
- app = Flask(__name__)
- Flask 서버 앱 객체 생성
- __name__는 현재 파일 이름으로 Flask가 라우트 위치와 탬플릿 위치를 찾는 기준
- app = Flask(__name__)
- 기본 라우트 /
- 서버 실행 확인용
- 서버가 정상적으로 실행 되는지 간단한 테스트
- 브라우저 접속 시 간단한 텍스트 표시
- 질문 처리 라우트 /ask
- methods=["POST"] → 클라이언트에서 POST 요청만 받음
- request.json → 클라이언트가 보낸 JSON 데이터를 가져옴
- question = data.get("question") → JSON에서 "question" 키 값 추출
- 임시 응답: 받은 질문 그대로 문자열로 반환
- jsonify({"answer": answer}) → JSON 형태로 클라이언트에 응답
- 서버 실행
- debug=True → 코드 수정 시 자동 반영, 에러 메시지 출력
- 터미널에서 실행하면 Flask 개발 서버가 켜짐
코드를 작성 해보니 몇 군데에서 빨간 물결이 쳐져 있다.(여기서는 보이지 않으나,
코드를 긁어서 VSC 에 붙여보면 확인이 불가능하다.
우선 무슨 문제인지 알아보려면 코드를 실행 해보자
python CHATBOT_SERVER.py

음.. 뭐... 큰 문제는 없는거 같다...
위에 아이피를 컨트롤 누르고 클릭 해보자.
정상적으로 실행 중이라면...
위에 작성했듯이 "잿봇 서버가 실행 중입니다."
라는 문구가 보일것이다.

일단은... 작동 하는것을 볼 수 있다.
현재 시간 새벽 2시.. 일단 자고 계속 진행 해야 겠다.
'Project > GPT Api를 활용하여 챗봇 만들기' 카테고리의 다른 글
| [Project] 챗봇 만들기 프로젝트 6 (5) | 2025.08.15 |
|---|---|
| [Project] 챗봇 만들기 프로젝트 4 (1) | 2025.08.15 |
| [Project] 챗봇 만들기 프로젝트 3 (3) | 2025.08.15 |
| [Project] 챗봇 만들기 프로젝트 2 (3) | 2025.08.15 |
| [Project] 챗봇 만들기 프로젝트 1 (7) | 2025.08.14 |