카테고리 없음
📘 8강: ChatGPT 자동화 웹앱 만들기
lastdetective
2025. 4. 25. 14:24
반응형
✅ 들어가며
이번 강의에서는 Flask를 사용해서 웹 기반 ChatGPT 자동화 시스템을 만들 거야.
웹 앱에서 버튼 클릭을 통해 GPT 실행 → 결과 확인 → 파일로 저장까지 전부 처리되게 할 거야.
- 목표:
웹 브라우저에서 ChatGPT를 실행하고, 결과를 바로 웹 페이지로 보여주고,
엑셀 파일로 저장할 수 있는 웹 앱 만들기.
🧰 준비 사항
항목설명
Flask | 웹 프레임워크 (간단한 웹 애플리케이션 개발용) |
openai | ChatGPT 호출용 라이브러리 |
openpyxl | 엑셀 파일 생성용 라이브러리 |
python-dotenv | 환경변수 설정 (API 키 보안) |
📦 필요한 패키지 설치
pip install flask openai openpyxl python-dotenv
💻 1. Flask 웹앱 만들기
Flask 웹 앱을 설정하고, HTML 폼을 통해 사용자가 요청을 보내면 ChatGPT가 결과를 생성하고, 그 결과를 엑셀 파일로 다운로드할 수 있게 할 거야.
🚀 Flask 앱 코드 작성
import os
import openai
from flask import Flask, render_template, request, send_file
from openpyxl import Workbook
from datetime import datetime
from dotenv import load_dotenv
# 환경 변수로 API 키 로딩
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Flask 앱 설정
app = Flask(__name__)
# 홈 페이지
@app.route('/')
def home():
return render_template('index.html')
# GPT 요약 생성 및 엑셀 저장
@app.route('/generate_report', methods=['POST'])
def generate_report():
prompt = request.form['prompt'] # HTML 폼에서 입력받은 프롬프트
# ChatGPT API 호출
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": prompt}
]
)
text = response['choices'][0]['message']['content']
lines = text.strip().split("\n")
# 엑셀 파일 생성
wb = Workbook()
ws = wb.active
ws.title = "Generated Report"
for i, line in enumerate(lines, start=1):
ws.cell(row=i, column=1, value=line)
# 파일명에 날짜 추가
filename = f"report_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
wb.save(filename)
# 엑셀 파일 전송
return send_file(filename, as_attachment=True)
if __name__ == "__main__":
app.run(debug=True)
📂 프로젝트 구조
chatgpt_automation/
├── app.py
├── .env
├── templates/
│ └── index.html
├── static/
│ └── style.css (선택사항)
🖥 2. HTML 템플릿 만들기
templates/index.html 파일을 생성하고, 사용자로부터 프롬프트를 입력받을 수 있는 간단한 폼을 만들자.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChatGPT 자동화</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div class="container">
<h1>ChatGPT 자동화 보고서 생성기</h1>
<form action="/generate_report" method="POST">
<textarea name="prompt" placeholder="GPT에게 생성할 내용을 입력하세요..." required></textarea>
<button type="submit">보고서 생성</button>
</form>
</div>
</body>
</html>
🌐 3. 웹 앱 실행하기
- 위 코드를 저장한 후, Flask 서버를 실행해 보자.
python app.py
- 브라우저에서 http://127.0.0.1:5000/로 접속하면, 사용자 인터페이스가 나타날 거야.
📂 결과
- 웹 페이지에서 사용자가 텍스트를 입력하고 "보고서 생성" 버튼을 클릭하면,
- ChatGPT가 해당 내용을 바탕으로 보고서를 작성하고,
- 그 보고서를 엑셀 파일로 변환하여 즉시 다운로드할 수 있어.
💡 실전 활용 예시
기능예시
부서별 보고서 생성 | 특정 부서의 주간 보고서를 자동으로 작성하고 엑셀로 다운로드 |
회의록 요약 | 회의 내용을 요약하여 바로 엑셀로 저장 |
고객 서비스 응답 요약 | 고객 피드백을 GPT로 분석하고 엑셀로 요약하여 저장 |
🛠 확장 아이디어
- 👉 HTML 폼에 추가 입력 필드를 추가해서, 사용자가 원하는 양식으로 프롬프트를 세분화할 수 있도록 할 수 있어.
- 👉 파일 업로드 기능: 사용자가 엑셀 파일을 업로드하고, 이를 분석해서 자동으로 요약 결과를 제공할 수 있어.
- 👉 배포: Flask 앱을 Heroku, AWS, 또는 Docker를 이용해 배포하여 실제 서비스를 제공할 수 있어.
🏁 마무리
이제 웹 기반 ChatGPT 자동화 시스템을 만들었고, 웹에서 버튼 클릭만으로 GPT 실행 → 결과 저장 → 엑셀 다운로드까지 완료할 수 있어!
다음 강의에서는 배포와 확장성을 고려한 클라우드 배포나 실제 서비스화에 대해 다룰 예정이에요.
💬 웹앱 사용 중 궁금한 점, 추가하고 싶은 기능은 댓글로!
웹 자동화 시스템도 확장성이 무궁무진하니까 여러분의 아이디어를 추가할 수 있어요 😎
💡 다음 강의 주제: 클라우드 배포 + 실제 서비스화!
이 웹앱을 Heroku나 AWS에 배포하고, 실제 서비스처럼 운영할 수 있는 방법을 다뤄볼 예정!
728x90
반응형