관리자 설정

관리자 설정 (Admin Setup)

아래 방법 중 하나로 팀을 위한 Auto Router를 만드세요. 기존 라우터에 코딩 에이전트를 연결하려면 User Setup 을 따르세요.

들어가는 다섯 가지 방법이 있어요. 모두 같은 auto_router/complexity_router 배포를 만듭니다.

  • Add an Auto Router — Models + Endpoints → Auto Router에서 테스트하고 저장
  • Agent skill — 코딩 에이전트에 보내는 한 줄
  • config.yamlmodel_list의 라우터 항목 하나
  • Model-management API — CI/CD용 POST /model/new
  • lite autoroute — 프록시를 건드리지 않고 로컬에서 시도

Auto Router 추가 (Models + Endpoints → Auto Router)

  • LiteLLM Dashboard에서 Models + Endpoints 로 간 뒤 Auto Router 탭을 엽니다. 새 Auto Router 모델을 추가하거나 기존 것을 활성화·구성하세요.
  • Auto Router 이름을 입력한 뒤 Configure automatically 를 선택하거나 템플릿을 고릅니다. 생성된 티어를 검토하고, 라우팅을 테스트하고, 저장합니다.
  • Configure automatically 는 프록시가 이미 제공하는 모델들을 확인해 네 가지 복잡도 티어 모두에 가장 좋은 모델을 선택하고 폼을 채워 줘요.
  • 템플릿: 1M Context, Anthropic Family, OpenAI Family, Gemini Family, Lite. 각각 프록시가 이미 제공하는 모델들로 네 티어를 모두 채웁니다.
  • 모델이 배포되지 않은 템플릿은 누락된 이름을 나열하며 회색 처리됩니다.
  • Test Routing 은 분류기에 프롬프트 하나를 보내고 고를 모델을 보여줍니다. 아무것도 생성하지 않고, 고른 모델도 호출하지 않아요.
  • Test Connection 은 티어 모델 그룹별로 최소 요청을 실행합니다. 초록은 자격 증명으로 도달 가능하다는 뜻.
  • Detailed Configuration 은 나머지를 담습니다: 키워드 규칙, LLM 분류기와 프롬프트, 상향 키워드, 어댑티브 풀.

템플릿을 config.yaml로: Recommended Configurations. 릴리스 포스트: AutoRouter: 1 Click Deploy.

출처: 문서

본문

Agent skill

run curl -fsSL https://docs.litellm.ai/skills/auto-router and follow the instructions
  • 프록시가 이미 제공하는 모델들을 읽습니다.
  • 라우터 이름과 티어별 모델을 묻습니다.
  • 아무것도 쓰기 전에 가정하는 기본값을 명시합니다.

config.yaml

model_list:
  - model_name: gpt-5.6-luna
    litellm_params: {model: openai/gpt-5.6-luna, api_key: os.environ/OPENAI_API_KEY}
  - model_name: gpt-5.6-terra
    litellm_params: {model: openai/gpt-5.6-terra, api_key: os.environ/OPENAI_API_KEY}
  - model_name: claude-sonnet-5
    litellm_params: {model: anthropic/claude-sonnet-5, api_key: os.environ/ANTHROPIC_API_KEY}
  - model_name: claude-opus-5
    litellm_params: {model: anthropic/claude-opus-5, api_key: os.environ/ANTHROPIC_API_KEY}

  - model_name: smart-router
    litellm_params:
      model: auto_router/complexity_router
      complexity_router_config:
        tiers:
          SIMPLE:    gpt-5.6-luna
          MEDIUM:    gpt-5.6-terra
          COMPLEX:   claude-sonnet-5
          REASONING: claude-opus-5
      complexity_router_default_model: gpt-5.6-terra
  • 티어는 같은 파일의 다른 model_name 항목을 이름으로 가리키므로, 매 티어가 프록시가 이미 아는 배포예요.
  • complexity_router_default_model 은 라우터가 결정하지 못할 때마다 제공합니다.
  • classifier_type 이 없으면 휴리스틱 스코어러: 무료이고 추가 지연 없음.
  • 작은 모델을 쓰는 classifier_type: llm 은 에이전트 트래픽에서 요청당 1센트 미만으로 정확도를 높입니다. benchmarks 참고.
  • 그 외 모든 것(키워드 규칙, 티어 풀, 세션 어피니티, 스코어러 튜닝): configuration reference.

JEV 분류기 (TypeSafe AI)

classifier_type: jev 는 TypeSafe System One Choice 평가를 사용해 기존 Auto Router 안에서 티어를 선택합니다. LiteLLM은 분류기 입력을 statePOST /v1/systemone에 보내며, 하나의 questions.tier 질문의 기준이 구성된 티어를 기술합니다. 선택된 티어의 모델이 컴플리션을 제공합니다.

서버 키 설정

배포의 시크릿 관리자를 통해 프록시 프로세스에 TYPESAFE_API_KEY를 제공하세요. 대시보드는 프로바이더 키를 필요로 하지 않아요. 클라이언트는 계속 LiteLLM 가상 키를 사용합니다.

export TYPESAFE_API_BASE="https://api.typesafe.ai"
litellm --config config.yaml

TYPESAFE_API_BASE는 선택이며 기본은 https://api.typesafe.ai 입니다. jev_classifier_config.api_keyapi_base를 생략하면 이 서버 설정을 사용합니다. TypeSafe 키가 없으면 JEV 초기화가 실패해요. 명시적 api_base는 명시적 api_key를 요구하므로, 구성 오버라이드가 서버의 환경 키를 다른 호스트로 리다이렉트할 수 없습니다. 관리 API를 사용하는 팀 멤버는 두 필드 모두 설정할 수 없어요.

대시보드에서 생성 또는 편집

Models + Endpoints 에서 Auto Router를 열고 라우터를 추가하거나 기존 것을 편집합니다. 티어 모델을 구성한 뒤 Detailed Configuration 의 Classification Method 에서 JEV Classifier 를 선택하세요.

JEV Model(기본 jev-latest)과 JEV Timeout (ms)(기본 3000)을 설정합니다. 회로 차단기, 분류기 폴백, Context Window Size, Context Character Budget, assistant-turn 설정을 검토하세요. Enterprise 사용자는 내장 루브릭을 JEV Instructions 로 대체하거나 내장 지침을 복원할 수 있습니다.

JEV는 LLM 분류기와 같은 히스토리 기본값을 사용합니다: 8,000자 이전 턴 예산 내의 이전 사용자 턴 최대 3개, assistant 턴은 제외. 이 히스토리는 구성된 TypeSafe 엔드포인트로 보내지며, 이는 컴플리션 프로바이더와 다를 수 있어요. 히스토리를 생략하려면 Context Window Size를 0으로 설정하세요. 현재 요청(ask)과 선택된 시스템 텍스트는 여전히 보내집니다.

기존 JEV 라우터를 대시보드 및 컨텍스트 통합으로 업그레이드할 때 이 설정을 생략하면 기본값을 활성화합니다. 업그레이드 전에 라우터가 이전 대화를 계속 보내지 않게 하려면 classifier_context_window_size: 0을 설정하세요.

Test Routing 은 라우터를 만들거나 선택된 컴플리션 모델을 호출하지 않고 입력을 분류합니다. 유료 JEV 요청을 만들 수 있고, 의미적 키워드 매칭도 유료 임베딩 요청을 만들 수 있어요. Test Connection 은 구성된 모델 의존성을 확인하고 별도의 JEV 분류 프로브를 만듭니다. 라우팅이 폴백을 사용했다면 선택된 컴플리션 모델이 도달 가능해도 JEV 결과가 오류를 보고합니다. 이 프로브들은 프로바이더 비용을 발생시킬 수 있어요.

라우터를 저장하고 일반 컴플리션 API로 모델 이름을 호출하세요. 분류기 설정을 바꾸려면 편집 폼을 다시 여세요. 결정을 조사할 때는 성공적인 컴플리션이 JEV가 답했다는 것을 증명한다고 가정하지 말고, routing-decision 카드에서 cause와 분류기 metadata를 검사하세요.

YAML로 구성

model_list의 티어 배포 옆에 이 라우터 항목을 추가하세요. 티어 값과 기본 모델은 프록시에 이미 구성된 배포를 이름으로 가리켜야 해요.

- model_name: jev-router
  litellm_params:
    model: auto_router/complexity_router
    complexity_router_default_model: gpt-5.6-terra
    complexity_router_config:
      tiers:
        SIMPLE: gpt-5.6-luna
        MEDIUM: gpt-5.6-terra
        COMPLEX: claude-sonnet-5
        REASONING: claude-opus-5
      classifier_type: jev
      jev_classifier_config:
        model: jev-latest
        timeout_ms: 3000
        circuit_breaker_enabled: true
        circuit_breaker_cooldown_seconds: 30
      classifier_fallback: default_model
      classifier_context_window_size: 3
      classifier_context_budget_chars: 8000
      classifier_context_include_assistant_turns: false

이 예시는 명시적으로 default_model 폴백을 선택합니다. 출시된 classifier_fallback 기본값은 heuristic 입니다. 이전 턴 캐릭터 예산은 현재 요청이나 시스템 텍스트를 제한하지 않으므로, 분류기 입력을 컴플리션 모델의 컨텍스트 창과 별도로 검토하세요.

내장 JEV 분류는 내장 LLM 분류기와 같은 라이선싱 정책을 사용합니다. 커스텀 지침과 tier_definitions는 기존 Enterprise 커스텀 분류기 기능을 사용합니다. JEV는 enable_non_reasoning_tier도 지원해요.

기본값, 컨텍스트, 복구, 권한 부여, 회계는 JEV 레퍼런스를, 품질과 비용 범위는 측정 비교를, System One 직접 호출은 TypeSafe pass-through를 참고하세요.

Model-management API

CI/CD나 스크립트를 위해 POST /model/new 로 같은 배포를 만드세요. 먼저 store_model_in_db를 활성화하세요. Auto Router는 모델 배포이므로 별도의 /auto_router/new 엔드포인트는 없어요. 이 예시는 Anthropic Family 프리셋을 사용합니다. 먼저 참조하는 모델 배포를 만드세요.

curl -X POST "http://localhost:4000/model/new" \
  -H "Authorization: Bearer $LITEL..._KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model_name": "claude-auto",
    "litellm_params": {
      "model": "auto_router/complexity_router",
      "complexity_router_config": {
        "tiers": {
          "SIMPLE": "claude-haiku-4-5",
          "MEDIUM": "claude-sonnet-5",
          "COMPLEX": "claude-opus-5",
          "REASONING": "claude-opus-5-high"
        },
        "classifier_type": "heuristic",
        "escalation_keywords": ["LITELLM ESCALATE"],
        "session_affinity": false
      },
      "complexity_router_default_model": "claude-sonnet-5"
    }
  }'

응답에는 model_id가 포함됩니다. 부분 변경에는 PATCH /model/{model_id}/update로 사용하고, 라우터는 model_name으로 호출하세요. 저장하기 전에 POST /auto_router/validate_complexity_router_config로 복잡도 구성을 검증할 수 있어요. 배포 CRUD는 Model Management, 전체 라우터 페이로드는 Configuration Reference 문서를 참고하세요.

lite autoroute

  • 실제 프록시로 모든 요청을 전달하는 임시 로컬 프록시를 띄웁니다.
  • 세션 동안 Claude Code 트래픽을 그 경유로 라우팅합니다. 실제 프록시를 우회하는 것은 없고 구성도 건드리지 않아요.
  • 가이드: lite autoroute.

Claude Code와 Claude Desktop

  • Claude Code는 /v1/models에서 모델 선택기를 채우고 claudeanthropic을 포함하는 이름만 유지합니다. 라우터를 그렇게 이름 짓거나 ANTHROPIC_MODEL을 직접 설정하세요.
  • Claude for Teams 또는 Enterprise에서는 정확한 라우터 이름이 조직 allowlist에 있어야 해요. 그 검사는 클라이언트 측에서 실행되므로, 거부된 라우터는 게이트웨이 로그에 아무것도 남기지 않습니다.
  • 라우터는 model_info에서 선언하기 전까지 컨텍스트 창을 광고하지 않으며, Claude Code는 그와 무관하게 자체 기본값을 적용해요. 양쪽 모두: 컨텍스트 창.
  • 튜토리얼: Auto Router with Claude Code and Claude Desktop.

더 알아보기 (Learn more)