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를 실행하면 가장 발전된 멀티모달 모델 중 하나에 프로그래밍 방식으로 접근할 수 있습니다. 이 가이드에서는 환경을 설정하고, 필요한 패키지를 설치하며, 간단한 Python 스크립트를 실행해 콘텐츠를 생성하는 방법을 5분 이내에 살펴봅니다. 또한 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 키 만들기
첫 키를 만드는 경우 대시보드에서 새 프로젝트를 생성하세요. 왼쪽 상단의 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
그리고 셀을 실행하세요.
셀 실행이 끝날 때까지 기다리세요— [*] 표시기가 숫자로 바뀝니다.
💡

이제 설치를 마쳤으니, 사용하려면 아직 임포트해야 합니다
파이썬이 처음이라면기본적으로 라이브러리를 설치할 때는 그 코드를 가져오는 것이고, 임포트하면 그 라이브러리를 사용할 수 있도록 준비하는 것입니다.
예전에 정말 좋은 비유를 본 적이 있어요. 설치는 이미지를 서버에 업로드하는 것과 같고, 임포트는 그 이미지가 준비되면 페이지에 삽입해서 보여 주는 것과 같습니다.
💡
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 역할 둘 다를 메시지로 보내고 있음을 확인할 수 있습니다.
또한, 제 응답 기준에 다음 사항을 정의합니다:
- temperature0에서 1.0 사이의 값으로, 모델 출력의 무작위성(창의성)을 제어합니다. 0.2처럼 낮은 값을 사용하면 출력이 더 집중되고 결정론적으로 변해, 창의성은 낮아지지만 정확성은 높아집니다.
- max_tokens: 응답에 포함될 최대 토큰 수(단어 및 단어의 일부)를 제한합니다. 모델은 답변에서 최대 1000토큰까지 생성하며, 상세함과 성능 사이의 균형을 맞춥니다.
- frequency_penalty: -2.0에서 2.0 사이의 값으로, 모델이 토큰을 반복할 가능성에 영향을 줍니다. 0.0이면 페널티가 없어 반복이 자연스럽게 발생할 수 있습니다. 더 높은 값을 사용하면 생성된 텍스트에서 반복이 줄어듭니다.
그리고
실행하면 다음과 같이 표시됩니다:

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

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

오른쪽 위의 탭을 클릭하면 다음과 같은 추가 정보를 확인할 수 있습니다:
해당 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