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 키 만들기
처음 발급하는 키라면 대시보드에서 새 프로젝트를 만드세요. 왼쪽 상단의 기본 프로젝트를 클릭한 뒤 프로젝트 만들기를 선택하고 다음과 같은 이름을 지정하세요. 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 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은 페널티가 없음을 의미하여, 반복이 자연스럽게 발생할 수 있습니다. 더 높은 값을 사용하면 생성된 텍스트에서 반복이 줄어듭니다.
그리고
실행하면 다음과 같이 표시됩니다:

제가 사용하는 값은 다음과 같습니다:
- 모델 - 사용하려는 모델입니다.
- 메시지 - 전송되는 메시지(주로 프롬프트)
- 온도 - 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