속도 제한
OfoxAI의 속도 제한은 플랫폼 안정성을 보장합니다. 제한 규칙을 이해하고 호출 전략을 최적화하세요.
기본 제한
OfoxAI는 종량제 과금이며, 모든 사용자가 동일한 속도 정책을 공유합니다:
| 제한 항목 | 할당량 |
|---|---|
| RPM (요청/분) | 200 |
| TPM (토큰/분) | 무제한 |
더 높은 RPM 할당량이 필요하시면 OfoxAI 지원 에 조정을 요청하세요.
Rate Limit Header
모든 API 응답에 속도 제한 정보가 포함됩니다:
x-ratelimit-limit-requests: 200
x-ratelimit-remaining-requests: 195
x-ratelimit-reset-requests: 12s| Header | 설명 |
|---|---|
x-ratelimit-limit-requests | RPM 제한 값 |
x-ratelimit-remaining-requests | 남은 요청 횟수 |
x-ratelimit-reset-requests | 요청 제한 리셋 시간 |
429 에러 처리
속도 제한이 초과되면 API가 429 Too Many Requests를 반환합니다:
from openai import RateLimitError
import time
try:
response = client.chat.completions.create(...)
except RateLimitError as e:
retry_after = float(e.response.headers.get("retry-after", 1))
print(f"속도 제한 초과, {retry_after}초 대기 중...")
time.sleep(retry_after)최적화 전략
1. 프롬프트 캐싱 사용
반복되는 system prompt의 경우, 캐싱을 활성화하면 토큰 소비를 줄일 수 있습니다:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
# 긴 system prompt는 자동으로 캐싱됩니다
{"role": "system", "content": "당신은 전문적인...(긴 텍스트 생략)"},
{"role": "user", "content": "사용자 질문"}
]
)자세한 내용은 다음을 참조하세요: 프롬프트 캐싱.
2. 배치 처리
여러 짧은 요청을 하나의 요청으로 합칩니다:
# ❌ 비권장: 각 질문에 대해 개별 요청 전송
for question in questions:
client.chat.completions.create(messages=[{"role": "user", "content": question}])
# ✅ 권장: 하나의 요청으로 통합
combined = "\n".join(f"{i+1}. {q}" for i, q in enumerate(questions))
client.chat.completions.create(
messages=[{"role": "user", "content": f"다음 질문에 순서대로 답변해 주세요:\n{combined}"}]
)3. 적합한 모델 선택
| 시나리오 | 추천 모델 | 이유 |
|---|---|---|
| 간단한 대화 | openai/gpt-4o-mini | 빠르고 토큰 절약 |
| 복잡한 추론 | openai/gpt-4o | 고품질 출력 |
| 코드 생성 | anthropic/claude-sonnet-4.5 | 코드 능력 우수 |
| 긴 텍스트 처리 | google/gemini-3-flash-preview | 대용량 컨텍스트, 가성비 |
4. max_tokens 제어
적절한 max_tokens 제한을 설정하여 불필요한 토큰 소비를 방지합니다:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "한 문장으로 요약"}],
max_tokens=100 # 출력 길이 제한
)5. 모델 폴백 사용
주 모델이 제한에 도달하면 자동으로 대체 모델로 전환합니다:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[...],
extra_body={
"provider": {
"fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"]
}
}
)자세한 내용은 다음을 참조하세요: 장애 복구.
Last updated on