TL;DR
지연 시간과 가용성 차이가 큰 다-provider LLM 환경에서 서비스 품질이 흔들린다. sturnus는 OpenAI 호환 API를 단일 정적 바이트로 제공하는 사이드카로, 가장 빠르고 건강한 공급자에게 트래픽을 집중시켜 안정성을 높인다.
입력은 OpenAI API 형식으로 전달되며, sturnus는 각 후보 공급자에 대해 응답 시간과 성공률의 지표를 EWMA로 추정한다. 모델 이름은 실제 후보로 재작성되고, best_effective 대비 각 후보의 효과를 기반으로 가중치를 부여한다. 그 가중치를 골든레이션 Weyl 시퀀스가 구동해 트래픽 분배를 결정하고, 더 악화된 후보는 점차 트래픽 비중이 축소되지만 복구 시 다시 비중이 회복된다. 또한 Vertex AI 같은 외부 벤더도 인증 방식과 라우팅 정보를 통해 함께 작동한다.
결과적으로 sturnus는 제로 인프라의 경량 사이드카로 다-provider 라우팅의 속도와 안정성을 동시에 향상시키되, 비용 최적화나 품질 기반의 라우팅까지 확장하려는 큰 플랫폼이 아니다. 간단한 구성으로 OpenAI-호환 SDK를 거의 그대로 활용할 수 있으며, LLMOps를 전면적으로 대체하기보다는 빠른 판단과 실험에 적합한 경량 솔루션으로 작용한다.
섹션별 상세
- Vertex AI를 활용한 인증/지표 추적이 가능하다. — Vertex billing attribution / Endpoints 출처
용어 해설
- 지연 시간 기반 라우팅(Latency-based Routing)
- — 여러 LLM 공급자 간 응답 지연 및 가용성을 고려해 트래픽을 가장 빠르고 안정적인 공급자로 자동 분배하는 연결 전략.
- 세션 애피니티(Session Affinity)
- — 연속 요청이 같은 공급자에게 유지되도록 한 세션의 흐름을 특정 파드에 고정하는 메커니즘.
- 지수가중이동평균(EWMA (Exponential Weighted Moving Average))
- — 각 공급자의 지연과 성공률에 대해 EWMA를 계산해 실시간 성능을 추정하는 지표.
코드 예제
[provider.openai]
base_url = "https://api.openai.com/v1"
api_key = "${OPENAI_API_KEY}"
[provider.vertex]
vertex_ai = { project_id = "my-gcp-project", location = "us-central1" }
# Model map 예시
[model]
fast = [ { provider = "openai", model = "gpt-4o-mini" }, { provider = "vertex", model = "google/gemini-2.5-flash" } ]입력 대상을 다수의 공급자로 라우팅하기 위한 구성 예시로, provider와 모델 매핑을 보여준다.
기술
- Rust
- Docker
- Kubernetes
- OpenAI API
- Vertex AI
활용 사례
- LLM 게이트웨이 구성
- 멀티 공급자 파이프라인
- 초저지연 AI 서비스
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
