Skip to main content

OpenAI API로 시작하는 o3 모델 Python 퀵스타트

이 튜토리얼에서는 OpenAI API를 사용해 Python에서 새로운 o3hmini 모델을 빠르고 쉽게 설정하고 실행하는 방법을 안내합니다. 이 글은 AI 번역본입니다. 오역이 있을 경우 댓글로 알려주세요.
Created on September 15|Last edited on September 15
OpenAI의 새로운 시작하기 o3 모델 API를 통해 사용하는 것은 간단하며, ChatGPT 인터페이스에서 제공되는 범위를 넘어서는 유연성을 제공합니다 또는 GPT-4o이 퀵스타트 가이드는 약 5분이면 바로 시작할 수 있도록 도와줍니다.
바로 시작하고 싶다면 함께 사용할 수 있는 Colab도 있습니다:

이 튜토리얼에서 다룰 내용은 다음과 같습니다:

목차



이제 막 시작했고 아직 Python을 실행할 환경을 설정하지 않았다면간단한 튜토리얼을 준비했습니다 여기 몇 분 만에 바로 시작할 수 있도록 도와줍니다.

추가로, 필요한 경우 OpenAI API를 준비하고 사용하는 방법 안내, 알아보실 수 있습니다 여기.
💡
먼저 핵심 질문부터 시작해 봅시다:

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

o3로 빌드하려면, 다음 도구와 준비물이 필요합니다 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 os
import weave
from openai import OpenAI
import re

# Initialize Weave and W&B
weave.init('o3-mini')

# Initialize OpenAI client
client = 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_prompt
print(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 prompts
content = generate_content(o3_assistant_prompt, o3_user_prompt)

# Print the generated response
print(content)
실행하면 다음과 같이 표시됩니다:


W&B Weave에서 o3 모델 출력 확인하기

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


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


제가 의도했던 “o1”과는 다른 방향으로 가긴 했지만, 꽤 잘 해냈습니다.
이 o3 모델 퀵스타트 튜토리얼이 도움이 되었길 바랍니다. 무엇을 만들었는지 댓글로 공유해 주세요!

관련 자료



이 글은 AI로 번역되었습니다. 오역이 의심되는 부분이 있다면 댓글로 알려 주세요. 원문 링크는 다음과 같습니다: 원문 보고서 보기