이미지를 보니 OpenAI의 ‘GPTs’ (나만의 GPT 만들기) 기능을 사용한 화면이네요!
사용자가 보여주신 이미지처럼 **”NEW 대본마스터”**라는 이름으로, 내가 원하는 자료를 학습해서 대본을 써주는 AI 봇을 만드는 방법은 크게 두 가지가 있습니다.
-
OpenAI GPTs 기능 사용하기 (코딩 없음, 가장 쉬움): 이미지와 똑같은 화면을 만드는 방법입니다. (ChatGPT 유료 사용자 기능)
-
파이썬으로 직접 웹 앱 만들기 (코딩 필요, 커스텀 가능): 저 화면과 유사한 기능을 하는 나만의 프로그램을 직접 만드는 방법입니다.
저는 “코딩 파트너”이니, 이 두 가지 방법을 모두 알려드릴게요.
방법 1. OpenAI GPTs로 만들기 (이미지와 동일)
이미지의 화면은 코딩 없이 설정만으로 만들 수 있습니다. 여기가 바로 **”좋은 대본을 학습”**시키는 핵심 장소입니다.
단계별 설정법:
-
ChatGPT 접속: 왼쪽 사이드바에서 [Explore GPTs] -> **[Create]**를 클릭합니다.
-
Configure (설정) 탭으로 이동합니다.
-
세부 내용 입력:
-
Name (이름): NEW 대본마스터
-
Description (설명): 경제, 시사, 유튜브용 대본 전문 작가
-
Instructions (지침): 여기에 프롬프트를 넣습니다.
“너는 전문 대본 작가야. 내가 주제를 던져주면, 학습된 파일의 톤앤매너를 분석해서 서론-본론-결론이 확실하고 흡입력 있는 스크립트를 작성해 줘. 문체는 쉽고 친근하게 작성해.”
-
-
Knowledge (지식 – 중요!):
-
여기에 [Upload files] 버튼을 눌러 준비해둔 **’좋은 대본 샘플 파일들(PDF, Word, txt)’**을 전부 업로드하세요.
-
GPT가 이 파일들을 읽고 스타일을 모방하게 됩니다.
-
-
Conversation Starters (대화 시작하기):
-
이미지에 보이는 “대공황…”, “시상식…”, “엔비디아…” 같은 예시 질문들을 여기에 입력하면 버튼처럼 생성됩니다.
-
방법 2. 파이썬(Streamlit)으로 직접 구현하기
만약 ChatGPT 사이트가 아니라, 나만의 웹사이트처럼 저런 화면을 구현하고 싶다면 Streamlit이라는 파이썬 라이브러리를 사용하면 아주 비슷하게 만들 수 있습니다.
아래는 이미지와 유사한 UI를 구성하고, 이전에 설명해 드린 OpenAI API를 연동하는 기본 코드입니다.
필수 설치
터미널에 입력하세요:
pip install streamlit openai
app.py 코드 작성
import streamlit as st
from openai import OpenAI
# 1. 페이지 설정 (제목 및 레이아웃)
st.set_page_config(page_title="NEW 대본마스터", layout="wide")
# 2. 사이드바 구현 (이미지의 '최근' 목록 부분)
with st.sidebar:
st.header("최근 작업")
# 버튼을 누르면 해당 주제가 채팅창에 입력되도록 구현할 수 있습니다.
if st.button("N | 대공황: 파티의 끝과 숙취"):
st.session_state['input_text'] = "대공황: 파티의 끝과 숙취에 대한 대본 써줘"
if st.button("N | 시상식, 돈 되는 경제학 파헤치기"):
st.session_state['input_text'] = "시상식 경제학 대본 써줘"
if st.button("N | 엔비디아 3분기 실적 분석"):
st.session_state['input_text'] = "엔비디아 3분기 실적 대본 써줘"
# 3. 메인 화면 헤더
st.title("NEW 대본마스터")
st.markdown("### 🤖 당신만의 AI 대본 작가")
# API 키 설정 (실제 사용 시 환경변수로 관리하는 것이 좋습니다)
# client = OpenAI(api_key="내_API_KEY_입력")
# 4. 채팅 기록 초기화
if "messages" not in st.session_state:
st.session_state.messages = [
{"role": "system", "content": "당신은 훌륭한 대본 작가입니다. 사용자가 올린 지식 파일을 기반으로 대본을 작성하세요."}
]
# 5. 이전 대화 내용 화면에 표시
for message in st.session_state.messages:
if message["role"] != "system":
with st.chat_message(message["role"]):
st.markdown(message["content"])
# 6. 사용자 입력 처리
# 사이드바 버튼을 눌렀을 때의 값 혹은 직접 입력한 값
user_input = st.chat_input("대본 주제를 입력하세요...")
# 사이드바 버튼 연동을 위한 로직 (임시)
if 'input_text' in st.session_state and st.session_state['input_text']:
user_input = st.session_state['input_text']
st.session_state['input_text'] = None # 초기화
if user_input:
# 사용자 메시지 표시
st.chat_message("user").markdown(user_input)
st.session_state.messages.append({"role": "user", "content": user_input})
# AI 응답 생성 (여기에 이전에 만든 Fine-tuning 모델 연결 가능)
with st.chat_message("assistant"):
message_placeholder = st.empty()
full_response = ""
# 실제 API 연결 시 아래 주석 해제 및 사용
# response = client.chat.completions.create(
# model="gpt-4o", # 또는 파인튜닝된 모델 ID
# messages=st.session_state.messages
# )
# full_response = response.choices[0].message.content
# (테스트용 가짜 응답)
full_response = f"'{user_input}'에 대한 흥미진진한 대본을 작성 중입니다...\n\nS#1. 도입부\n(긴장감 넘치는 음악)\n나레이션: 여러분, 이 사건을 주목해주세요."
message_placeholder.markdown(full_response)
st.session_state.messages.append({"role": "assistant", "content": full_response})
구현 가이드
-
가장 추천하는 방법:
-
개인적으로 사용하실 거라면 **방법 1(GPTs)**이 가장 강력하고 편합니다. PDF 파일을 20개 정도만 올려도 성능이 확 좋아집니다.
-
-
코드로 확장하고 싶다면:
-
위의
app.py코드를 저장하고, 터미널에서streamlit run app.py를 실행하면 웹브라우저에 이미지와 유사한 화면이 뜹니다. -
여기에 아까 배운 파인 튜닝된 모델 ID를 연결하면, 나만의 웹사이트에서 돌아가는 완벽한 대본 마스터가 됩니다.
-
다음 단계로 무엇을 해드릴까요?
-
방법 1을 위해 GPTs의 ‘Instructions(지침)’에 들어갈 **프롬프트(명령어)**를 기가 막히게 짜드릴까요?
-
아니면 방법 2를 실행해 볼 수 있도록 환경 설정하는 법을 더 자세히 알려드릴까요?
답글 남기기