공급자 라우팅
OfoxAI는 다중 공급자 아키텍처를 지원하며, 동일한 모델을 서로 다른 공급자 노드를 통해 제공할 수 있습니다. 라우팅 전략을 통해 요청 분배 방식을 제어할 수 있습니다.
라우팅 전략
| 전략 | 설명 | 적용 시나리오 |
|---|---|---|
priority | 우선순위에 따라 순서대로 (기본값) | 안정성 우선 |
cost | 최저 비용 우선 | 배치 처리, 비용 민감 |
latency | 최저 지연 시간 우선 | 실시간 대화, 사용자 인터랙션 |
balanced | 로드 밸런싱 | 높은 동시성 시나리오 |
사용 방법
provider.routing 확장 파라미터를 통해 라우팅 전략을 설정합니다:
routing.py
from openai import OpenAI
client = OpenAI(
base_url="https://api.ofox.ai/v1",
api_key="<OFOXAI_API_KEY>"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "안녕하세요"}],
extra_body={
"provider": {
"routing": "cost" # 최저 비용 우선
}
}
)routing.ts
const response = await client.chat.completions.create({
model: 'openai/gpt-4o',
messages: [{ role: 'user', content: '안녕하세요' }],
// @ts-ignore OfoxAI 확장 파라미터
provider: {
routing: 'cost'
}
})전략 상세
priority — 우선순위 라우팅 (기본값)
OfoxAI가 사전 설정한 공급자 우선순위에 따라 요청을 분배합니다. 안정성이 가장 높은 노드를 우선 사용합니다.
cost — 비용 우선
현재 비용이 가장 낮은 공급자 노드를 자동 선택합니다. 배치 처리, 데이터 라벨링 등 지연 시간에 민감하지 않은 시나리오에 적합합니다.
latency — 지연 시간 우선
응답 지연이 가장 낮은 공급자 노드를 선택합니다. 빠른 응답이 필요한 실시간 대화 시나리오에 적합합니다.
balanced — 로드 밸런싱
요청을 사용 가능한 모든 공급자 노드에 균등하게 분배합니다. 높은 동시성 시나리오에 적합하며, 단일 지점 과부하를 방지합니다.
모범 사례
- 실시간 대화에는
latency사용 — 사용자 대기 시간 단축 - 배치 작업에는
cost사용 — 전체 비용 절감 - 프로덕션 환경에서는 기본
priority사용 — 안정성 보장 - 장애 복구와 결합 — 라우팅 전략은
fallback파라미터와 함께 사용 가능
OfoxAI 콘솔에서 전역 기본 라우팅 전략을 설정할 수도 있으며, 매 요청마다 지정할 필요가 없습니다.
Last updated on