Skip to main content

OpenAI API를 사용하는 GPT-4o Python 빠른 시작

OpenAI API를 사용해 Python으로 로컬 환경에서 GPT‑4o를 설정하고 실행하는 방법. 이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려 주세요.
Created on September 15|Last edited on September 15
OpenAI API를 통해 GPT‑4o를 실행하면 가장 앞선 멀티모달 모델 중 하나에 프로그래밍 방식으로 접근할 수 있습니다. 이 가이드에서는 환경을 구성하고 필요한 패키지를 설치한 뒤, 5분 이내에 콘텐츠를 생성하는 간단한 Python 스크립트를 실행하는 방법을 살펴봅니다. 또한 Weights & Biases Weave를 사용해 입력과 출력을 캡처하는 방법도 보여 드립니다.
Jump to the tutorial

최신 GPT‑4.1용 퀵스타트는 여기에서 확인할 수 있습니다. 여기.
💡

목차


이제 막 시작했고 아직 로컬 환경에서 Python을 실행할 준비가 되어 있지 않다면제가 간단한 튜토리얼을 만들었습니다 여기 몇 분 만에 바로 시작할 수 있도록 도와드립니다.
💡
준비가 끝났다면 OpenAI API가 필요합니다. 여기서부터 시작해 보겠습니다:

OpenAI API 준비하기

GPT-4o를 호출하기 전에 유효한 API 키가 필요합니다. 다음으로 이동하세요 OpenAI 제품 페이지 그리고 “Start building”을 클릭해 가입 절차를 시작하세요.

이메일과 전화번호를 인증하면 대시보드로 이동하는데, 여기서는 사용자 키가 프로젝트 수준 키로 대체됩니다. 이를 통해 OpenAI가 사용 내역을 각 프로젝트와 결제에 정확히 매핑할 수 있습니다.

OpenAI API 키 만들기

처음 키를 만드는 경우, 대시보드에서 새 프로젝트를 생성하세요. 왼쪽 상단의 기본 프로젝트를 클릭한 뒤 프로젝트 생성을 선택하고, 다음과 같은 이름을 지정하세요 Scripts.


프로젝트를 만든 후에는 API keys를 선택하고 Create key를 클릭하세요.


모달이 표시됩니다. 필요한 스코프를 선택하고 키를 복사한 뒤, 안전한 위치에 보관하세요(평문으로 저장하지 마세요).

이 작업을 하면 라이트박스가 열립니다:


어떤 권한을 부여할지 먼저 결정하세요. 이에 대해 더 자세한 내용은 여기에서 확인할 수 있습니다 여기.
키를 저장하지 마세요. 매우 안전한 보관 방법이 아니라면(바탕화면의 메모장 문서는 안전하지 않습니다). 잠시 사용했다면, 메모장 문서는 저장하지 말고 닫으세요.
💡

OpenAI 요금 안내

가입하면 5달러의 크레딧이 제공되며, 가볍게 실험해 보는 용도로는 예상보다 넉넉하게 사용할 수 있습니다!
이 문서 작성 시점(2025년 5월 5일) 기준 GPT-4o 요금은 다음과 같습니다:



W&B Weave

W&B Weave 모델의 입력과 출력을 자동으로 기록하고 시각화하는 방법을 제공합니다. 함수에 데코레이터를 적용하면 @weave.op()을 적용하면 해당 함수의 모든 호출—인자와 반환 값까지—이 기록됩니다. 이후 Weave UI에서 트레이스를 탐색하여 디버깅하고, 실행을 비교하며, 팀과 결과를 공유할 수 있습니다.

GPT-4o 시작하기

Jupyter Notebook, Colab, 또는 아무 Python REPL에서 따라 하실 수 있습니다. 빠르게 Python 환경을 준비해야 한다면 다음을 참고하세요 이 튜토리얼그렇다면 이제 코드로 들어가 봅시다.
Jupyter Notebook의 장점 중 하나는 Colab과 마찬가지로 마크다운 필드에 주석과 문맥을 추가할 수 있다는 점입니다:


1단계: OpenAI GPT-4o API 키

먼저 OpenAI API 키를 환경 변수로 내보내세요:
%env OPENAI_API_KEY=KEY
바꾸기 KEY 값을 본인 키로 설정하세요. Jupyter에서 이를 실행하면 키가 다시 출력되어 활성화되었음을 확인할 수 있습니다.


2단계: OpenAI와 W&B Weave 설치

OpenAI 클라이언트와 W&B Weave를 모두 설치하세요:
지금이 좋은 때입니다 to Weights & Biases에 가입하세요몇 분 뒤 더 진행했을 때 작업 흐름을 끊지 않도록 미리 저장해 두세요.
재미있는 사실: OpenAI는 Weights & Biases의 첫 유료 고객이었습니다!
💡
!pip install openai weave
그리고 셀을 실행하세요.
셀 실행이 끝날 때까지 기다리세요— [*] 표시기가 숫자로 바뀝니다.
💡

설치는 끝났지만, 사용하려면 이제 import 해야 합니다
Python이 처음이라면기본적으로 라이브러리를 설치한다는 것은 그 코드 묶음을 내려받아 갖고 오는 것이고, import 한다는 것은 그 라이브러리를 실제로 사용할 수 있도록 불러오는 것입니다.

예전에 들은 비유가 아주 좋았어요. 설치는 서버에 이미지를 업로드하는 것과 같고, import는 그 이미지가 준비되면 페이지에 임베드해서 가져다 쓰는 것과 같아요.
💡

3단계: 라이브러리를 임포트하고 OpenAI API 키를 전달하세요

다음으로 패키지를 로드하고 Weave와 OpenAI 클라이언트를 모두 설정하세요:
import os
import weave
from openai import OpenAI

# Initialize Weave
weave.init('gpt-4o')

# Initialize OpenAI client
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))

4단계: GPT-4o 프롬프트 설정

GPT-4o의 응답을 원하는 방향으로 조정하려면, 대화형으로 assistant 역할과 user 작업을 지정할 수 있습니다.
gpt_assistant_prompt = "You are a " + input ("Who should I be, as I answer your prompt?")
gpt_user_prompt = input ("What do you want me to do?")


5단계: GPT-4o로 콘텐츠 생성

여기서는 콘텐츠 생성을 두 단계로 나눕니다. 먼저 추론 과정을 개요로 정리한 뒤, 최종 결과물을 작성합니다.
아래 함수들은 @weave.op() 데코레이터를 사용해 Weave가 모든 내용을 기록하도록 합니다.
@weave.op()
def generate_content(gpt_assistant_prompt: str, gpt_user_prompt: str) -> dict:
gpt_prompt = f"{gpt_assistant_prompt} {gpt_user_prompt}"
messages = [
{"role": "assistant", "content": gpt_assistant_prompt},
{"role": "user", "content": gpt_user_prompt}
]
response = client.chat.completions.create(
model="gpt-4.1", # Ensure correct model name is used
messages=messages,
temperature=0.2,
max_tokens=1000,
frequency_penalty=0.0
)
response_text = response.choices[0].message.content
tokens_used = response.usage.total_tokens
return {"response": response_text, "tokens_used": tokens_used}

# Call the function
result = generate_content(gpt_assistant_prompt, gpt_user_prompt)
print(result)
assistant와 user 두 역할을 모두 메시지로 전달하고 있음을 확인할 수 있습니다.
또한, 제 응답 기준에 다음 항목을 정의합니다:
  • temperature모델 출력의 무작위성(창의성)을 제어하는 0–1.0 사이의 값입니다. 0.2처럼 낮은 값을 사용하면 출력이 더 집중되고 결정적으로 변해, 창의성은 낮아지지만 정확도는 높아집니다.
  • max_tokens: 응답에 포함될 토큰(단어 및 단어 조각)의 최대 수를 제한합니다. 모델은 성능과 장황함 사이의 균형을 맞추며 최대 1000토큰까지 생성합니다.
  • frequency_penalty: 모델이 토큰을 반복할 가능성을 조정하는 −2.0에서 2.0 사이의 값입니다. 0.0이면 패널티가 적용되지 않아 자연스러운 반복이 허용됩니다. 더 높은 값을 사용하면 생성된 텍스트의 반복이 줄어듭니다.
그리고
실행하면 다음과 같이 표시됩니다:

요청에 몇 가지 추가 parameters를 함께 전달한 것을 확인할 수 있습니다. 숫자는 변경할 수 있고, 전체 목록은 OpenAI 사이트에서 확인할 수 있습니다. 여기.
제가 사용하는 것은 다음과 같습니다:
  • 모델 - 사용하려는 모델입니다.
  • 메시지 - 전송되는 메시지(주로 프롬프트)
  • temperature - 0에서 1 사이의 숫자이며, 값이 높을수록 무작위성이 커집니다. 값이 높으면 더 창의적일 수 있지만, 결과의 예측 가능성은 낮아집니다.
  • frequency_penalty - -2에서 2 사이의 숫자입니다. 값이 높을수록 해당 시점까지의 응답에서 토큰의 출현 빈도에 따라 새 토큰에 더 큰 페널티가 적용됩니다. 숫자가 높을수록 반복될 확률이 낮아집니다.

W&B Weave에서 GPT-4o 입력과 출력 보기

마지막 셀을 실행하면 노트북 출력에 각 Trace로 연결되는 링크가 표시됩니다. 링크를 클릭하면 Weave 대시보드가 열리며, 입력과 출력, 코드 버전, 실행 시간, 동료 코멘트를 시각적으로 풍부한 형태로 확인할 수 있습니다.

다음과 같은 화면이 표시됩니다:


오른쪽 상단의 탭을 클릭하면 다음과 같은 추가 세부 정보를 확인할 수 있습니다:
해당 Trace를 생성한 코드:

동료 또는 다른 사용자의 Trace에 대한 피드백
그리고 실행 중이던 환경 요약:



결론

이제 Python에서 OpenAI API와 Weights & Biases Weave에 GPT-4o를 통합했습니다. 이 구성을 통해 프롬프트를 손쉽게 프로토타이핑하고, 결과를 자동으로 기록하며, 모델 중심 워크플로우에서 협업할 수 있습니다. 계속해서 파라미터를 조정하고, 다양한 프롬프트 패턴을 실험하며, 새로운 활용 사례를 발굴해 보세요.

관련 자료



이 문서는 AI로 번역되었습니다. 오역이 있을 경우 댓글에서 알려 주세요. 원문 보고서는 여기에서 확인할 수 있습니다: 원문 보고서 보기
Dave Davies
Dave Davies •  
Sorry for the delayed reply to all. I changed my account. :) I've now updated it, so all errors should be sorted out.
Reply
Bijan Nikouravan
Bijan Nikouravan •  
More over, I was not able to past API key for logging in to the wandb library from Anaconda Prompt. Thank you if guide me.
Reply
Bijan Nikouravan
Bijan Nikouravan •  
Thank you for present nice blog. I was trying to follow all of your comments but finally I hade some problem. I appreciate if you can guide me in this regard. the error is a s follow (this is only part of error): InvalidRequestError: The model `gpt-4` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.
1 reply
Zzavk
Zzavk •  
nice blog :)
Reply