Auto Routing
Auto Routing (Auto Router)
LiteLLM Auto Router는 요청을 가장 적합한 LLM 모델/배포로 자동 라우팅하는 기능이에요. 상태(health) 기반 라우팅, 점수(score) 기반 라우팅, 태그 기반 라우팅, 쿨다운 관리, 폴백 등을 결합해 비용과 품질을 최적화해요.
출처: 문서
본문
개요 (Overview)
Auto Router는 auto_router 모델을 사용해 LiteLLM이 배포 목록의 상태와 점수를 평가하고, 요청을 가장 적합한 모델로 자동 전달하게 해요. 이를 통해:
- 모델 장애·지연 시 자동 페일오버
- 비용·품질 균형을 위한 점수 기반 경로 선택
- 쿨다운(cooldown)으로 실패 모델 일시 제외
- 서로 다른 팀/키/요청 유형별 라우팅 규칙
Health 기반 라우팅 (Health-based routing)
LiteLLM은 각 배포에 대해 헬스 체크를 수행해 정상 상태를 추적하고, 실패가 반복되는 배포는 자동으로 쿨다운 처리해 다른 정상 배포로 요청을 보내요. router_settings의 cooldown_time, disable_cooldowns, allowed_fails, num_retries 등으로 이를 제어할 수 있어요.
router_settings:
cooldown_time: 30 # 초 단위 쿨다운
allowed_fails: 3 # 쿨다운 전 허용 실패 수
num_retries: 2 # 재시도 횟수
max_fallbacks: 5
Score 기반 라우팅 (Score-based routing)
Auto Router는 각 요청에 대해 라우팅 점수를 계산하고 임계값에 따라 모델을 선택해요. 점수는 비용, 지연, 배포 상태 등을 종합해 산출돼요.
주요 파라미터:
SEMANTIC_THRESHOLD/DEFAULT_THRESHOLD- 라우팅 결정용 점수 임계값auto_router_default_model- 어떤 조건에도 맞지 않을 때 사용할 기본 모델auto_router_embedding_model- 시맨틱 매칭용 임베딩 모델 (시맨틱 라우팅 사용 시)auto_router_config_path- 라우팅 규칙(utterances 등) 파일 경로
요청 본문이나 콘피그에서 model_router_score_threshold 같은 파라미터로 요청별 임계값을 조정할 수도 있어요.
설정 예시 (Configuration example)
model_list:
- model_name: gpt-5.6-luna
litellm_params:
model: openai/gpt-5.6-luna
api_key: os.environ/OPENAI_API_KEY
router_settings:
cooldown_time: 30
allowed_fails: 3
num_retries: 2
max_fallbacks: 5
주요 라우팅 파라미터 (Key routing parameters)
| 파라미터 | 설명 |
|---|---|
| num_retries | 실패 시 재시도 횟수 |
| allowed_fails | 쿨다운 전 허용되는 실패 수 |
| cooldown_time | 실패 배포를 제외할 시간(초) |
| disable_cooldowns | 쿨다운 비활성화 |
| max_fallbacks | 시도할 최대 폴백 수 |
| routing_strategy | simple-shuffle, least-busy, usage-based-routing 등 선택 |
| model_router_score_threshold | 점수 기반 라우팅 임계값 |
참고 사항 (Notes)
Auto Router의 전체 동작 원리, 시맨틱 라우팅 상세, 태그 기반 라우팅, 베이즈/추정 라우팅, 벤치마크 결과, 그리고 각 라우팅 전략의 권장 설정은 원문 문서를 참고하세요. 이 페이지는 LiteLLM의 가장 광범위한 기능 중 하나를 다루므로, 배포 목적(비용 우선 vs 성능 우선)에 따라 전략과 임계값을 설계해야 해요.