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를 실행하면 가장 발전된 멀티모달 모델 중 하나에 프로그래밍 방식으로 접근할 수 있습니다. 이 가이드에서는 환경을 설정하고, 필요한 패키지를 설치한 뒤, 간단한 Python 스크립트를 실행해 콘텐츠를 생성하는 방법을 5분 이내에 살펴봅니다. 또한 Weights & Biases Weave를 사용해 입력과 출력을 캡처하는 방법도 함께 안내합니다.
Jump to the tutorial

새로운 GPT-4.1용 빠른 시작 가이드는 여기에서 확인할 수 있습니다. 여기.
💡

목차


이제 막 시작했고 아직 로컬 환경에서 Python을 실행하도록 머신을 설정하지 않았다면간단한 튜토리얼을 준비했습니다 여기 몇 분 만에 바로 시작할 수 있도록 도와줍니다.
💡
환경 설정을 마쳤다면 이제 OpenAI API가 필요합니다. 여기부터 시작해 봅시다:

OpenAI API 준비하기

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

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

OpenAI API 키 만들기

처음 키를 만드는 경우, 대시보드에서 새 프로젝트를 생성하세요. 왼쪽 상단의 Default project를 클릭한 다음 Create project를 선택하고 다음과 같은 이름을 지정하세요: 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를 모두 설치하세요:
지금이 좋은 시점입니다 Weights & Biases에 가입하세요몇 분 뒤에 작업이 더 진행됐을 때 흐름을 끊지 않도록 미리 준비해 두세요.
재미있는 사실: OpenAI는 Weights & Biases의 첫 번째 유료 고객이었습니다!
💡
!pip install openai weave
그리고 셀을 실행하세요.
셀이 끝날 때까지 기다리세요— [*] 표시기가 숫자로 바뀝니다.
💡

이제 설치는 끝났으니, 사용하려면 가져와야 합니다
Python이 처음이라면기본적으로 라이브러리를 설치할 때는 해당 코드만 받아옵니다. 임포트하면 그 라이브러리를 실제로 사용할 수 있게 됩니다.

예전에 들은 좋은 비유가 있어요. 설치는 이미지를 서버에 업로드하는 것과 같고, 임포트는 그 이미지가 준비되면 페이지에 삽입해서 보여주는 것과 같습니다.
💡

단계 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 역할을 모두 메시지로 전달하고 있음을 확인할 수 있습니다.
추가로, 응답 기준에 다음 항목들을 정의합니다:
  • temperature0 이상 1.0 이하의 값으로, 모델 출력의 무작위성(창의성)을 조절합니다. 예를 들어 0.2처럼 낮은 값을 설정하면 출력이 더 집중적이고 결정론적으로 변해, 창의성은 낮아지지만 정확도는 높아집니다.
  • max_tokens: 응답에서 사용할 최대 토큰 수(단어 및 단어의 일부)를 제한합니다. 모델은 과도한 장황함과 성능 사이의 균형을 고려해 최대 1000토큰까지 생성합니다.
  • frequency_penalty: -2.0부터 2.0 사이의 값으로, 모델이 토큰을 반복할 가능성을 조정합니다. 0.0은 페널티가 없음을 의미하여 자연스러운 반복이 허용됩니다. 값이 높을수록 생성된 텍스트에서 반복이 줄어듭니다.
그리고
실행하면 다음과 같이 표시됩니다:

요청과 함께 몇 가지 추가 파라미터를 전달한 것을 보실 수 있습니다. 숫자는 자유롭게 변경할 수 있으며, 전체 옵션 목록은 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