OpenAI API로 시작하는 o3 모델 Python 퀵스타트
이 튜토리얼에서는 OpenAI API를 사용해 Python에서 새로운 o3hmini 모델을 빠르고 쉽게 설정하고 실행하는 방법을 안내합니다. 이 글은 AI 번역본입니다. 오역이 있을 경우 댓글로 알려주세요.
Created on September 15|Last edited on September 15
Comment
OpenAI의 새로운 시작하기 o3 모델 API를 통해 사용하는 것은 간단하며, ChatGPT 인터페이스에서 제공되는 범위를 넘어서는 유연성을 제공합니다 또는 GPT-4o이 퀵스타트 가이드는 약 5분이면 바로 시작할 수 있도록 도와줍니다.
바로 시작하고 싶다면 함께 사용할 수 있는 Colab도 있습니다:
이 튜토리얼에서 다룰 내용은 다음과 같습니다:
목차
o3는 무엇이며 다른 OpenAI 모델과 무엇이 다른가요?o1에서의 주요 업그레이드W&B WeavePython에서 o3 모델 빠른 시작1단계: OpenAI o1-mini API 키2단계: OpenAI와 W&B Weave 설치3단계: 라이브러리를 임포트하고 OpenAI API 키를 전달하기4단계: o3 프롬프트 구성하기5단계: o3 모델로 콘텐츠 생성하기W&B Weave에서 o3 모델 출력 확인하기관련 자료
💡
먼저 핵심 질문부터 시작해 봅시다:
o3는 무엇이며 다른 OpenAI 모델과 무엇이 다른가요?
OpenAI o3-mini 은 OpenAI의 최신 추론 모델로, STEM 응용 분야에서 뛰어난 성능을 보여줍니다 (스과학, ㅌ기술 이엔지니어링 및 ㅁ수학). 이 모델은 다음과 같은 기능을 기반으로 구축되었으며 o1-mini, 그러나 지연 시간은 낮고 비용 효율성은 유지하면서 속도, 정확도, 추론 능력에서 더 뛰어납니다.

o1에서의 주요 업그레이드
- 성능: o3-mini는 추론 작업에서 o1-mini와 동등하거나 이를 능가하며, 전문가 평가에 따르면 중대한 오류가 39% 감소했습니다.
- 개발자 기능: 함수 호출, 구조화된 출력, 개발자 메시지를 미니 추론 모델에 도입해 출시 시점부터 실운영에 적합하도록 만들었습니다.
- 추론 노력 옵션: 개인적으로 최고의 기능 중 하나는, o1과 마찬가지로 사용자가 낮음, 보통, 높음의 추론 노력 수준을 선택해 속도와 정확성 사이에서 최적화를 할 수 있다는 점입니다.
- 출시 현황: o3-mini는 Chat Completions API, Assistants API, Batch API에서 제공되며, o1이 티어 5 사용자에게만 제공되던 것과 달리 티어 3–5 API 사용자에게 접근 권한이 있습니다.
- ChatGPT 연동: o3-mini는 ChatGPT에서 Plus, Team, Pro 사용자 대상로 o1-mini를 대체하여 메시지 전송 제한을 크게 늘립니다.
- 가격o3-mini는 o1보다 가격이 크게 낮습니다.

눈에 띄는 아쉬운 점은, o1과 달리 o3-mini는 시각 추론을 지원하지 않는다는 것입니다.
전반적으로 더 낮은 비용으로 사용자 접근성을 크게 높인 의미 있는 진전입니다.
W&B Weave
시작하려면 프로젝트 이름과 함께 가져와 초기화하면 됩니다. 우리는 사용하는 것을 권장합니다 @weave.op 데코레이터로, Weave가 함수의 입력과 출력을 자동으로 기록하도록 합니다. 이를 통해 모델 상호작용을 매끄럽게 추적할 수 있습니다. 스크립트를 실행하면 Weave 대시보드에서 상세한 시각화와 트레이스를 확인할 수 있어 디버깅과 모델 개선이 한층 쉬워집니다. 문서는 시작하기에 좋은 곳입니다.
Python에서 o3 모델 빠른 시작
이 튜토리얼은 여러분이 Jupyter 노트북에서 작업하고 있다고 가정하지만, 물론 코드는 다른 애플리케이션에서도 동일하게 동작합니다. 우리는 o1-mini 모델을 사용할 것입니다. 그럼 바로 시작해 보겠습니다.
참고: 좋습니다. 잠깐만 더 설명하겠습니다, 죄송합니다. 아래 셀들을 실행하면 대괄호 [ ] 사이에 별표([*])가 표시되는 것을 보게 될 것입니다. 이는 셀이 실행 중임을 나타내며, 여러분은 계속해서 별표가 숫자로 바뀔 때까지 기다린 다음 진행하세요.
💡
1단계: OpenAI o1-mini API 키
먼저 o3-preview API 키를 설정하세요:
%env OPENAI_API_KEY=KEY
(다음 항목을 교체하는 것이 좋습니다 KEY 여러분의 OpenAI API 키로.)
셀을 실행하면 출력으로 키가 표시됩니다. 이는 환경 변수로 성공적으로 입력되었음을 확인해 줍니다.

2단계: OpenAI와 W&B Weave 설치
o1-preview 모델을 시작하려면 OpenAI만 설치하면 됩니다. 다만, 여러 출력 결과를 더 쉽게 검토할 수 있도록 W&B Weave를 사용하는 방법도 함께 안내하겠습니다. 이를 통해 작업 효율을 크게 높일 수 있습니다.
지금이 최적의 시기입니다 to Weights & Biases에 가입하세요아직 하지 않았다면 지금 설정하세요. 나중에 작업 흐름을 방해하지 않아도 됩니다.
이를 위한 코드는 다음과 같습니다:
!pip install openai weave
이 코드를 입력한 후 Jupyter 셀을 실행하세요.

이제 설치를 마쳤으니, 사용하려면 모듈을 가져와야 합니다.
Python이 처음이라면 이렇게 생각해 보세요. 라이브러리를 설치하는 것은 서버에 이미지를 업로드해 리소스를 확보하는 것과 같습니다. 임포트는 그 이미지를 웹페이지에 삽입해 코드에서 사용할 수 있게 만드는 것과 같습니다.
💡
3단계: 라이브러리를 임포트하고 OpenAI API 키를 전달하기
이 블록에서는 이미 설치한 OpenAI와 W&B Weave 라이브러리를 임포트합니다. 또한 정규식을 사용하기 위해 re를, 환경 변수를 가져오기 위해 os를 함께 임포트합니다(이 경우 OpenAI API 키).
import osimport weavefrom openai import OpenAIimport re# Initialize Weave and W&Bweave.init('o3-mini')# Initialize OpenAI clientclient = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
해당 줄에서: weave.init('o3-mini')
o3-mini는 원하는 이름으로 바꿔도 됩니다. 이는 Weights & Biases 내부에서 사용할 프로젝트 이름입니다.
4단계: o3 프롬프트 구성하기
다음 코드는 실행되는 동안 입력값을 채워 넣을 수 있도록 프롬프트를 생성합니다. 다음 항목들을 요청합니다:
- 모델이 어떤 역할로 동작해야 하는지. 이는 assistant 역할과 연결되며, o3 모델이 갖춰야 할 특성을 정의하는 데 사용됩니다.
- 그들이 무엇을 해야 하는지에 대한 프롬프트. 이는 user 역할과 연결되며, 그들에게 기대되는 바를 정의하는 데 사용됩니다. ChatGPT 인터페이스에 입력하는 내용과 유사합니다.
o3_assistant_prompt = "You are a " + input("Who should I be, as I answer your prompt?")o3_user_prompt = input("What prompt do you want me to complete?")o3_prompt = o3_assistant_prompt, o3_user_promptprint(o3_prompt)
5단계: o3 모델로 콘텐츠 생성하기
이제 재미있는 부분에 도착했으니, 지금까지 너무 힘들지 않으셨길 바랍니다.
이제 모든 설정을 마쳤으니, 콘텐츠를 생성해 봅시다.
아래 함수는 제공한 프롬프트를 바탕으로 o3-mini 모델에 응답을 요청하고, 해당 상호작용을 Weave에 기록합니다:
코드는 기본적으로 사용합니다 high reasoning effort는 콘텐츠 부담을 GPT-4로 넘기고 있으므로 낮게 설정했지만, 다음과 같이 조정할 수 있습니다 low 또는 medium.
@weave.op()def generate_content(o3_assistant_prompt: str, o3_user_prompt: str) -> str:prompt = f"{o3_assistant_prompt}\nUser request: {o3_user_prompt}"messages = [{"role": "assistant", "content": o3_assistant_prompt},{"role": "user", "content": o3_user_prompt}]response = client.chat.completions.create(model="o3-mini",messages=messages,reasoning_effort="high" # This can be set to low, medium or high.)return response.choices[0].message.content# Generate content using the provided assistant and user promptscontent = generate_content(o3_assistant_prompt, o3_user_prompt)# Print the generated responseprint(content)
실행하면 다음과 같이 표시됩니다:

W&B Weave에서 o3 모델 출력 확인하기
이 글을 작성하는 동안 특히 중요했습니다.
글을 작성할 때 o1 모델 퀵스타트모델이 API를 통해 추론 단계를 되돌려 보내곤 했습니다. 꼭 실제 단계 그대로는 아니었지만, o1 모델들에게 단계를 보내도록 요청할 수 있었습니다. 이 글은 처음에는 o3로 단계를 생성하고 콘텐츠는 GPT-4o로 만들 계획이었지만, Weave의 트레이스를 살펴보면 우리가 기대한 효과가 나지 않는 이유를 확인할 수 있습니다:

더 나쁜 점은, 여전히 요청한 콘텐츠를 만들어 내려 할 것이지만, 그 결과가 추론에 근거하지 않았다는 사실을 당신이 모를 수 있다는 것입니다.
o1만으로 실행했을 때, 트레이스를 확인할 수 있습니다:

제가 의도했던 “o1”과는 다른 방향으로 가긴 했지만, 꽤 잘 해냈습니다.
이 o3 모델 퀵스타트 튜토리얼이 도움이 되었길 바랍니다. 무엇을 만들었는지 댓글로 공유해 주세요!
관련 자료
GPT-4o Python quickstart using the OpenAI API
Getting set up and running GPT-4o on your machine in Python using the OpenAI API.
The Gemini 2.0 API in Python quickstart tutorial
A quickstart tutorial on how to set up the Gemini 2.0 API with W&B logging in Python.
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