OpenAI API를 사용하는 GPT-4o Python 빠른 시작
OpenAI API를 사용해 Python으로 로컬 환경에서 GPT‑4o를 설정하고 실행하는 방법. 이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려 주세요.
Created on September 15|Last edited on September 15
Comment
OpenAI API를 통해 GPT‑4o를 실행하면 가장 앞선 멀티모달 모델 중 하나에 프로그래밍 방식으로 접근할 수 있습니다. 이 가이드에서는 환경을 구성하고 필요한 패키지를 설치한 뒤, 5분 이내에 콘텐츠를 생성하는 간단한 Python 스크립트를 실행하는 방법을 살펴봅니다. 또한 Weights & Biases Weave를 사용해 입력과 출력을 캡처하는 방법도 보여 드립니다.
Jump to the tutorial
💡
목차
OpenAI API 준비하기OpenAI API 키 만들기OpenAI 요금 안내W&B Weave GPT-4o 시작하기1단계: OpenAI GPT-4o API 키2단계: OpenAI와 W&B Weave 설치3단계: 라이브러리를 임포트하고 OpenAI API 키를 전달하세요4단계: GPT-4o 프롬프트 설정5단계: GPT-4o로 콘텐츠 생성W&B Weave에서 GPT-4o 입력과 출력 보기결론관련 자료
💡
준비가 끝났다면 OpenAI API가 필요합니다. 여기서부터 시작해 보겠습니다:
OpenAI API 준비하기

이메일과 전화번호를 인증하면 대시보드로 이동하는데, 여기서는 사용자 키가 프로젝트 수준 키로 대체됩니다. 이를 통해 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 osimport weavefrom openai import OpenAI# Initialize Weaveweave.init('gpt-4o')# Initialize OpenAI clientclient = 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 usedmessages=messages,temperature=0.2,max_tokens=1000,frequency_penalty=0.0)response_text = response.choices[0].message.contenttokens_used = response.usage.total_tokensreturn {"response": response_text, "tokens_used": tokens_used}# Call the functionresult = 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이면 패널티가 적용되지 않아 자연스러운 반복이 허용됩니다. 더 높은 값을 사용하면 생성된 텍스트의 반복이 줄어듭니다.
그리고
실행하면 다음과 같이 표시됩니다:

제가 사용하는 것은 다음과 같습니다:
- 모델 - 사용하려는 모델입니다.
- 메시지 - 전송되는 메시지(주로 프롬프트)
- temperature - 0에서 1 사이의 숫자이며, 값이 높을수록 무작위성이 커집니다. 값이 높으면 더 창의적일 수 있지만, 결과의 예측 가능성은 낮아집니다.
- frequency_penalty - -2에서 2 사이의 숫자입니다. 값이 높을수록 해당 시점까지의 응답에서 토큰의 출현 빈도에 따라 새 토큰에 더 큰 페널티가 적용됩니다. 숫자가 높을수록 반복될 확률이 낮아집니다.
W&B Weave에서 GPT-4o 입력과 출력 보기
마지막 셀을 실행하면 노트북 출력에 각 Trace로 연결되는 링크가 표시됩니다. 링크를 클릭하면 Weave 대시보드가 열리며, 입력과 출력, 코드 버전, 실행 시간, 동료 코멘트를 시각적으로 풍부한 형태로 확인할 수 있습니다.

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

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

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

결론
이제 Python에서 OpenAI API와 Weights & Biases Weave에 GPT-4o를 통합했습니다. 이 구성을 통해 프롬프트를 손쉽게 프로토타이핑하고, 결과를 자동으로 기록하며, 모델 중심 워크플로우에서 협업할 수 있습니다. 계속해서 파라미터를 조정하고, 다양한 프롬프트 패턴을 실험하며, 새로운 활용 사례를 발굴해 보세요.
관련 자료
Attribute-Value Extraction With GPT-3 and Weights & Biases
In this article, we learn how to fine-tune OpenAI's GPT-3 for attribute-value extraction from products, looking at the challenges and how to overcome them.
Automating Change Log Tweets with Few-Shot Learning and GPT-3
A text summarization recipe using OpenAI GPT-3's few-shot learning and Weights & Biases
o1 model Python quickstart using the OpenAI API
Getting set up and running the new o1 models in Python using the OpenAI API. We'll be working with o1-preview.
Add a comment
Sorry for the delayed reply to all. I changed my account. :)
I've now updated it, so all errors should be sorted out.
Reply
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
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
nice blog :)
Reply