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 키를 선택하고 키 만들기를 클릭하세요.


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

이렇게 하면 라이트박스가 열립니다:


어떤 권한을 부여할지 결정해야 합니다. 이에 대해 더 자세히 알아보려면 다음 내용을 참고하세요. 여기.
누군가가 매우 안전하게 보관해 주는 경우가 아니라면 키를 저장하지 마세요(바탕화면의 메모장 문서는 안전하지 않습니다). 잠시 사용했다면 저장하지 말고 메모장 문서를 닫으세요.
💡

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 역할을 모두 메시지로 보내고 있다는 점을 확인할 수 있습니다.
추가로, 응답 기준에 다음 항목들을 정의합니다:
  • temperature: 0에서 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