새 모델 자동 동기화

새 모델 자동 동기화 (Auto Sync New Models, Day-0 출시)

서비스를 재시작하지 않고도 모델 가격과 컨텍스트 창 데이터를 자동으로 최신 상태로 유지해요. 이를 통해 새 모델에 대한 day-0 지원을 서비스 재시작 없이 추가할 수 있어요.

개요

OpenAI나 Anthropic 같은 제공자가 새 모델(예: GPT-5, Claude 4)을 출시하면, 보통 최신 가격과 컨텍스트 창 데이터를 얻기 위해 LiteLLM 서비스를 재시작해야 했어요.

자동 동기화를 사용하면 LiteLLM이 재시작 없이 GitHub의 model_prices_and_context_window.json에서 최신 모델 데이터를 자동으로 가져와요. 즉:

  • 새 모델이 출시될 때 제로 다운타임
  • 비용 추적과 예산을 위한 항상 정확한 가격
  • 자동 업데이트 — 한 번 설정해 두고 잊어버리세요

시작 동작 (구성 불필요)

이 페이지의 엔드포인트는 프록시가 실행 중일 때 재동기화만 제어해요. 그것과 무관하게 모든 LiteLLM 프로세스는 이미 시작 시 한 번 원격 model_prices_and_context_window.json을 GitHub main(또는 설정된 경우 LITELLM_MODEL_COST_MAP_URL)에서 가져오고, 그 fetch가 실패하거나 검증에 실패한 경우에만 패키지에 번들된 사본(litellm/model_prices_and_context_window_backup.json)으로 폴백해요. 이미지에 가격 파일의 자체 사본을 넣어서 프록시가 원격 파일 대신 그것을 쓰게 하려면 LITELLM_LOCAL_MODEL_COST_MAP=True를 설정해야 해요. 자세한 내용은 커스텀 모델 비용 맵을, 어느 사본이 로드됐는지 확인하려면 GET /model/cost_map/source를 참고하세요.

빠른 시작

수동 동기화:

    curl -X POST "https://your-proxy-url/reload/model_cost_map" \  
      -H "Authorization: Bearer ***" \  
      -H "Content-Type: application/json"  
    

6시간마다 자동 동기화:

    curl -X POST "https://your-proxy-url/schedule/model_cost_map_reload?hours=6" \  
      -H "Authorization: Bearer ***" \  
      -H "Content-Type: application/json"  
    

API 엔드포인트

엔드포인트 메서드 설명
/reload/model_cost_map POST 수동 동기화
/schedule/model_cost_map_reload?hours={hours} POST 주기적 동기화 스케줄
/schedule/model_cost_map_reload DELETE 예약된 동기화 취소
/schedule/model_cost_map_reload/status GET 동기화 상태 확인
/model/cost_map/source GET 로드된 맵이 어디서 왔고 어느 리비전인지

인증: admin 역할 또는 master key 필요

리로드가 성공했는데도 새로 추가된 모델이 여전히 나타나지 않으면, 배포에서 아무것도 바꾸기 전에 릴리스 가격 데이터 리로드 후 모델 누락을 따라가세요.

어느 리비전이 로드됐는지 확인

프록시가 가격 맵을 로드할 때마다 파싱한 바이트의 git blob id를 기록해요. 이는 litellm 체크아웃에서 git rev-parse <commit>:model_prices_and_context_window.json이 그 파일에 대해 출력하는 id와 같아요. 그것을 source_revision으로, fetch에 대해 GitHub가 제공한 etagloaded_at와 함께 GET /model/cost_map/source, POST /reload/model_cost_map, GET /schedule/model_cost_map_reload/status에서 보고해요. Admin UI는 Models and Endpoints 아래 Price Data Reload 카드에 같은 세 값을 보여줘요.

    curl -s "https://your-proxy-url/model/cost_map/source" \  
      -H "Authorization: Bearer ***"  
    
    {  
      "source": "remote",  
      "url": "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",  
      "is_env_forced": false,  
      "fallback_reason": null,  
      "loaded_at": "2026-09-08T00:49:21.311283+00:00",  
      "source_revision": "b1ffc1583e46583bb4becd34cf85ec70c6930828",  
      "etag": "W/\"6523ba12ad8daed03f7c879bc2c079d11b111d1ebdee2c27a34c0c756af30445\"",  
      "model_count": 3850  
    }  
    

source_revision은 "내 프록시가 어느 가격 맵 위에 있나"의 한 줄짜리 답이에요. main과 대조하려면 litellm 체크아웃에서 git rev-parse origin/main:model_prices_and_context_window.json을 실행하세요. 일치하면 프록시가 현재 파일 위에 있는 것입니다. main이 언제 그 정확한 파일을 배포했는지 보려면 git log --first-parent --find-object=<source_revision> --format='%h %cs %s' origin/main -- model_prices_and_context_window.json을 실행하세요. 오래된 줄이 그것을 배포한 병합이고, 더 새로운 줄(있을 때)이 그것을 대체한 병합이에요. --first-parent가 중요한 이유는 대부분의 리비전이 litellm_internal_staging에서의 병합으로 main에 도달하고, 일반 git log는 그 병합들을 남기기 때문이에요. 체크아웃 없이는 gh api 'repos/BerriAI/litellm/contents/model_prices_and_context_window.json?ref=main' --jq .sha가 지금 main이 서빙하는 id를 출력해요. 같은 source_revision을 보고하는 두 프록시는 어느 URL에서 가져왔든 바이트 단위 동일한 맵을 서빙하고 있어요. etag는 맵이 번들 사본에서 왔을 때(LITELLM_LOCAL_MODEL_COST_MAP=True 또는 실패한 fetch) null이고, 그러면 source_revision이 번들 파일의 id예요. JSON 자체에는 아무것도 찍히지 않으므로 파일에 _metadata 항목이나 generated_at이 없어요.

Python 예시

    import requests  
      
    def sync_models(proxy_url, admin_token):  
        response = requests.post(  
            f"{proxy_url}/reload/model_cost_map",  
            headers={"Authorization": f"Bearer {admin_token}"}  
        )  
        return response.json()  
      
    # Usage  
    result = sync_models("https://your-proxy-url", "your-admin-token")  
    print(result['message'])  
    

구성

두 변수 모두 시작 fetch와 위 엔드포인트가 트리거하는 모든 리로드에 적용돼요.

커스텀 모델 비용 맵 URL (기본값 표시; 이 값이 설정되지 않아도 원격 fetch는 일어남):

    export LITELLM_MODEL_COST_MAP_URL="https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json"  
    

로컬 모델 비용 맵만 사용 (시작과 리로드에서 원격 fetch 비활성화; 번들 백업 파일 사용):

    export LITELLM_LOCAL_MODEL_COST_MAP=True  
    

출처: 문서

더 알아보기 (Learn more)

  • 커스텀 모델 비용 맵 구성법 확인하기
  • Anthropic Beta 헤더 자동 동기화와 함께 운영하기