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
그리고 셀을 실행하세요.
셀이 끝날 때까지 기다리세요— [*] 표시기가 숫자로 바뀝니다.
💡

이제 설치는 끝났으니, 사용하려면 가져와야 합니다
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 역할을 모두 메시지로 전달하고 있음을 확인할 수 있습니다.
추가로, 응답 기준에 다음 항목들을 정의합니다:
- temperature0 이상 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