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 키 만들기

첫 키를 만드는 경우, 대시보드에서 새 프로젝트를 생성하세요. 왼쪽 상단의 기본 프로젝트를 클릭한 다음, 프로젝트 만들기를 선택하고 예를 들어 다음과 같은 이름을 지정하세요. 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
그리고 셀을 실행하세요.
셀이 끝날 때까지 기다리세요— [*] 표시기가 숫자로 바뀝니다.
💡

이제 설치는 완료했으니, 사용하려면 아직 임포트해야 합니다.
파이썬이 처음이라면기본적으로 라이브러리를 설치한다는 것은 코드를 가져오는 것이고, 임포트한다는 것은 그 라이브러리를 실제로 사용할 수 있게 만드는 것입니다.

예전에 훌륭한 설명을 본 적이 있어요. 설치는 이미지를 서버에 업로드하는 것과 같고, 임포트는 사용 가능해진 그 이미지를 페이지에 삽입하는 것과 같습니다.
💡

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 사이트에서 확인할 수 있습니다. 여기.
제가 사용 중인 것은 다음과 같습니다:
  • 모델 - 사용하려는 모델
  • 메시지 - 전송되는 메시지(주로 프롬프트)
  • 온도 - 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