OpenAI API의 가격 정책 알아보기
안녕하세요. yeTi입니다.
오늘은 OpenAI API
를 활용하여 다양한 인공지능 모델에 접근기 위해서 OpenAI API의 가격 정책
에 대해 알아보고자 합니다. 주로 GPT-4
모델과 그 변형인 GPT-4 Turbo
모델의 차이점, 그리고 토큰 기반 가격 책정 방식
에 대해 알아봤습니다.
OpenAI API 가격 개요
OpenAI의 주요 모델들은 사용량
에 따라 가격이 다릅니다. 여기서는 GPT-4
와 GPT-3.5
모델을 중심으로 알아봅니다.
GPT-4
- GPT-4-8K:
- Prompt Tokens: $0.03 per 1,000 tokens
- Completion Tokens: $0.06 per 1,000 tokens
- GPT-4-32K:
- Prompt Tokens: $0.06 per 1,000 tokens
- Completion Tokens: $0.12 per 1,000 tokens
GPT-3.5
- GPT-3.5 Turbo:
- Prompt Tokens: $0.0015 per 1,000 tokens
- Completion Tokens: $0.002 per 1,000 tokens
토큰(Tokens)이란?
토큰
은 텍스트의 기본 단위로, 일반적으로 단어의 일부, 하나의 단어, 또는 여러 단어로 구성될 수 있습니다. 예를 들어, 영어 텍스트의 경우, 하나의 토큰은 평균적으로 약 4자에 해당합니다. 토큰은 텍스트 길이를 측정하고 비용
을 계산하는 데 중요한 역할을 합니다.
예시
문장: "OpenAI는 인공지능을 개발합니다."
- 토큰: ["Open", "AI", "는", "인", "공", "지", "능", "을", "개", "발", "합니다", "."]
Prompt Tokens와 Completion Tokens의 차이
- Prompt Tokens: 사용자가 모델에 입력한 텍스트의 토큰 수입니다. 예를 들어, 질문이나 명령 등이 포함됩니다.
- Completion Tokens: 모델이 프롬프트에 따라 생성한 응답 텍스트의 토큰 수입니다.
따라서 가격이 정해질 때는 Prompt Tokens
과 Completion Tokens
의 총 합인 Total Tokens
로 정해집니다.
예시
import openai
openai.api_key = 'your-api-key'
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Tell me a joke about cats.",
max_tokens=50
)
print("Response text:", response.choices[0].text.strip())
print("Total tokens used:", response.usage['total_tokens'])
print("Prompt tokens:", response.usage['prompt_tokens'])
print("Completion tokens:", response.usage['completion_tokens'])
위 코드에서 Prompt Tokens
는 입력 텍스트의 토큰 수, Completion Tokens
는 모델의 응답 텍스트의 토큰 수입니다.
GPT-4-8K와 GPT-4-32K의 차이
GPT-4-8K:
- 컨텍스트 길이: 최대 8,000 토큰
- 사용 예: 짧은 문서 생성, 간단한 질의응답 등
GPT-4-32K:
- 컨텍스트 길이: 최대 32,000 토큰
- 사용 예: 긴 문서 생성, 복잡한 질의응답 등
GPT-4 Turbo가 GPT-4보다 저렴한 이유
GPT-4 Turbo
(또는 GPT-4o
)는 더 효율적으로 최적화된 모델로, 비용이 저렴합니다. 주요 이유는 다음과 같습니다:
- 인프라 최적화: 더 적은 계산 자원을 사용하여 효율성을 극대화합니다.
- 응답 시간: 더 빠른 응답 시간을 제공합니다.
- 비용 절감: 대량의 API 사용 시 비용 효율성이 높습니다.
가격 비교
GPT-4:
- Prompt Tokens: $0.03 per 1,000 tokens
- Completion Tokens: $0.06 per 1,000 tokens
GPT-4 Turbo:
- Prompt Tokens: $0.015 per 1,000 tokens
- Completion Tokens: $0.03 per 1,000 tokens
Python 코드 예시
GPT-4 호출:
import openai
openai.api_key = 'your-api-key'
response = openai.Completion.create(
engine="gpt-4",
prompt="What are the benefits of using GPT-4 Turbo?",
max_tokens=100
)
print("GPT-4 response:", response.choices[0].text.strip())
GPT-4 Turbo 호출:
import openai
openai.api_key = 'your-api-key'
response = openai.Completion.create(
engine="gpt-4-turbo",
prompt="What are the benefits of using GPT-4 Turbo?",
max_tokens=100
)
print("GPT-4 Turbo response:", response.choices[0].text.strip())
결론
이번에 알아보면서 재미있었던 점은 token
이라는 단어 단위로 가격이 정해진다는 것이고, 요청 token 수
뿐만아니라 응답 token 수
도 가격에 영향을 준다는 것입니다.
또한 GPT-4
모델보다 후에 나온 GPT-4 Turbo
(또는 GPT-4o
)이 더 저렴하다는 것이 재밌었는데요.
이후에 나온 모델이지만 GTP-4 와 성능을 동일하게 유지하면서 인프라 및 성능적으로 효율을 높였기 때문에 가격은 더 저렴해졌다는 것입니다.
보다 최신 정보와 실제 가격은 OpenAI의 가격 페이지를 참고해주세요.