Skip to main content

프롬프트해커 대니의 최신 소식 구독하기!

GPT 4o API 사용법: 나만의 GPT 챗봇 만들기

GPT-4o는 텍스트, 오디오, 비디오 입력을 통합적으로 처리하고 다양한 형식으로 출력을 생성할 수 있는 강력한 AI 모델입니다. 이 글에서는 GPT-4o API를 사용하여 나만의 GPT 챗봇을 만드는 방법을 단계별로 설명하겠습니다.

GPT4o란?

GPT4o는 OpenAI에서 개발한 멀티모달 AI 모델로, 텍스트, 이미지, 오디오, 비디오 데이터를 처리할 수 있습니다. 이를 통해 사용자와의 상호작용을 더욱 풍부하고 자연스럽게 만듭니다.

GPT-4o에 대해 궁금하다면 GPT-4o 옴니(omni) 란? 글을 참고해보세요.

GPT 4o API 사용법

먼저 GPT-4o API를 사용하기 위해 필요한 단계를 알아보겠습니다.

OpenAI SDK 설치

GPT-4o API를 사용하기 위해서는 먼저 OpenAI SDK를 설치하고 API 키를 설정해야 합니다.

아래와 같이 OpenAI SDK를 설치합니다.

pip install --upgrade openai

API 키 설정

API 키를 발급받아 환경 변수로 설정합니다.

import os
os.environ["OPENAI_API_KEY"] = "<your OpenAI API key>"

API 키 발급은 ChatGPT API 사용 방법을 참고 하셔서 발급 받으실 수 있습니다.

GPT-4o API로 간단한 예제 실행하기

GPT-4o API를 사용하여 간단한 대화형 응용 프로그램을 만들어봅니다. gpt-4o를 사용하는 방법은 간단 합니다. model 값을 gpt-4o 로 설정하고, messages에 사용자의 입력을 넣어주면 됩니다. 이미 공개 되어 별도의 설정 없이 사용 가능합니다.

import openai

client = openai.OpenAI()

response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "나의 프롬프트 엔지니어링 코치가 되어줘."},
{"role": "user", "content": "어떻게 하면 프롬프트 엔지니어링을 잘 할수 있을까?"}
]
)

print("Assistant: " + response.choices[0].message.content)
  • 출력 결과

GPT 4o API 결과 예시

Streamlit로 GPT-4o GPT 챗봇 만들기

Streamlit은 Python 기반의 웹 애플리케이션 프레임워크로, 짧은 코드로도 인터랙티브한 웹 앱을 쉽게 만들 수 있습니다. 이번 섹션에서는 Streamlit을 사용하여 GPT-4o 챗봇을 만드는 방법을 알아보겠습니다.

1. 기본 설정

먼저, Streamlit을 설치합니다.

pip install streamlit

requirements.txt 파일을 생성하여 필요한 패키지를 설치합니다.

streamlit==1.24.0
openai==1.1.1
altair

이제 기본적인 Streamlit 앱을 설정해봅시다.

import streamlit as st

st.title("GPT-4o 챗봇")
st.write("GPT-4o와 대화를 시작해보세요!")

3. 챗봇 UI 개선

챗봇 UI를 더 개선하기 위해, 대화 형식을 추가하고 Streamlit의 채팅 요소를 사용해보겠습니다.

import streamlit as st
import openai
from dotenv import load_dotenv
import os

# Load environment variables from .env file
load_dotenv()

# Set OpenAI API key
openai.api_key = os.getenv("OPENAI_API_KEY")

st.title("GPT-4o 챗봇")
st.write("GPT-4o와 대화를 시작해보세요!")

# Initialize the session state if not already done
if "messages" not in st.session_state:
st.session_state.messages = []

system_prompt = "나의 프롬프트 엔지니어링 코치가 되어줘."

# Function to get chatbot response
def get_chatbot_response(user_input):
client = openai.OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "나의 프롬프트 엔지니어링 코치가 되어줘."},
{"role": "user", "content": "어떻게 하면 프롬프트 엔지니어링을 잘 할수 있을까?"}
]
)

return response.choices[0].message.content

# Input field for the user
user_input = st.text_input("메시지를 입력하세요")

# Handle user input and get chatbot response
if user_input:
st.session_state.messages.append({"role": "user", "content": user_input})
response = get_chatbot_response(user_input)
st.session_state.messages.append({"role": "assistant", "content": response})

# Display messages
for msg in st.session_state.messages:
with st.container():
st.markdown(f"**{msg['role']}**: {msg['content']}")

이렇게 하면 사용자의 입력과 GPT-4o의 응답이 대화 형식으로 표시됩니다.

Streamlit GPT-4o 챗봇 실행하기

코드를 작성 했다면 위의 코드를 app.py 파일에 저장하고, 다음 명령어를 실행하여 Streamlit 앱을 실행합니다.

streamlit run app.py 

이제 브라우저에서 http://localhost:8501로 접속하여 GPT-4o 챗봇을 사용할 수 있습니다.

Streamlit GPT-4o 챗봇 예시

이 글에서는 GPT-4o API를 사용하여 Streamlit으로 나만의 GPT 챗봇을 만드는 방법을 알아보았습니다. GPT-4o의 강력한 기능을 활용하여 더 다양한 프로젝트에 도전해보세요. 여러분의 창의적인 아이디어로 새로운 AI 서비스를 만들어 보시기 바랍니다.

이 글이 도움이 되셨다면, 여러분도 GPT-4o와 Streamlit을 활용한 프로젝트를 시작해보세요. 질문이 있거나 도움이 필요하다면 댓글로 남겨주세요. 모두가 함께 배우고 성장할 수 있기를 기대합니다!