비수요 시간 가격

비수요 시간 가격 (Off-Peak Pricing)

일부 공급자는 고정된 시계 창에서 더 적게 청구해요. 예를 들어 DeepSeek는 피크 시간 밖에서 요율을 절반으로 줄여요. 모델 가격 항목의 off_peak_pricing은 LiteLLM 비용 추적에 그 일정을 알려줘요. 설정된 창이 열려 있는 동안 지출이 표준 요율 대신 비수요 요율로 계산되어, 추적된 지출이 공급자 인보이스와 하루 종일 일치하게 돼요.

출처: 문서

본문

일일 창 (Daily windows)

off_peak_pricing모델 비용 맵input_cost_per_token과 같은 종류의 모델 가격 키예요. 배포의 model_info 아래에 붙이면 돼요:

model_list:
  - model_name: deepseek-chat
    litellm_params:
      model: deepseek/deepseek-chat
      api_key: os.environ/DEEPSEEK_API_KEY
    model_info:
      off_peak_pricing:
        hours_utc: "16:30-00:30"
        input_cost_per_token: 1.35e-7
        output_cost_per_token: 5.5e-7
        cache_read_input_token_cost: 3.5e-8

hours_utc는 UTC 기준 "HH:MM-HH:MM" 창이거나, 하루에 여러 창이 있는 공급자를 위한 목록이에요. 이 창들은 매일 적용돼요. 위처럼 창이 자정을 넘어 감쌀 수도 있어요. 시작은 포함(inclusive), 끝은 제외(exclusive)이며, 시작과 끝이 같으면 하루 전체를 덮어요. 여기의 숫자와 창은 예시일 뿐이에요. 실제 일정과 요율은 공급자의 가격표에서 가져오세요.

일정은 설정된 배포에 한정돼요. 같은 백엔드 모델의 다른 배포는 각자의 가격을 유지하므로, 두 배포가 다른 일정을 가질 수 있고 블록이 없는 배포는 항상 표준 요율로 청구돼요.

위처럼 model_infooff_peak_pricing 블록만 담고 있으면, 창 밖의 표준 요율은 백엔드 모델의 내장 비용 맵 항목에서 와요. 블록 옆에 input_cost_per_tokenoutput_cost_per_token을 설정하면 이를 재정의할 수 있어요.

요일 한정 창 (Weekday-qualified windows)

공급자의 일정이 요일별로 다를 때는 windows를 사용해요. windows는 각각 hours_utc를 적용되는 요일과 짝짓는 규칙 목록이에요. 요일은 ISO 숫자(1 = 월요일 ~ 7 = 일요일) 또는 영어 이름·약어예요. weekdays가 없는 규칙은 매일 적용되고, 상위 수준의 평면 hours_utc도 규칙과 함께 활성 상태로 남아요. 그중 하나라도 일치하면 요청이 비수요로 처리돼요.

model_info:
  off_peak_pricing:
    weekday_timezone: Asia/Shanghai
    windows:
      - hours_utc: ["10:00-01:00", "04:00-06:00"]
        weekdays: [mon, tue, wed, thu, fri]
      - hours_utc: "00:00-00:00"   # whole day
        weekdays: [sat, sun]
    input_cost_per_token: 1.35e-7
    output_cost_per_token: 5.5e-7

weekday_timezone은 블록의 선택적 IANA 시간대 이름이에요. 시간은 항상 UTC예요. 시간대는 요일을 검사할 때 특정 순간이 어느 달력 날짜에 속하는지만 결정해요. 이는 공급자가 로컬 요일로 일정을 정의할 때 중요해요. 예를 들어 금요일 23:00 UTC는 Asia/Shanghai에서는 이미 토요일이라, 위 설정으로는 주말 규칙과 일치해요. 기본값은 UTC이고, 인식되지 않는 이름은 UTC로 폴백돼요.

요율이 적용되는 방식 (How the rates apply)

비수요 요율은 할인하는 것이 아니라, 그렇지 않으면 적용될 요율을 대체해요. 계층형 above_{N}k 가격도 마찬가지예요. 창이 열려 있는 동안 평면 비수요 요율이 전체 요청을 청구해요. 블록은 input_cost_per_token, output_cost_per_token, output_cost_per_reasoning_token, cache_read_input_token_cost, cache_creation_input_token_cost를 지원하며, 설정하지 않은 것은 표준 요율로 폴백돼요. output_cost_per_reasoning_token이 설정되지 않으면 reasoning 토큰은 창 밖과 같은 방식으로 청구돼요. 전용 reasoning 요율이 있으면 그 요율로, 없으면 출력 요율로 청구되고 비수요도 포함돼요. 1시간 캐시 생성 요율(cache_creation_input_token_cost_above_1hr)은 절대 영향을 받지 않아요.

요청은 완료 시점으로 가격이 매겨져요. 표준 요율로 시작해 창 안에서 끝나는 요청은 전부 비수요 요율로 청구되고, 창 밖으로 나가는 요청은 전부 표준 요율로 청구돼요.

잘못된 창과 요일 값은 절대 일치하지 않아요. 일정에 오타가 있으면 잘못된 시간에 할인을 적용하는 대신 표준 요율로 청구돼요. 새 일정은 /spend/logs 또는 사용량 대시보드로 같은 요청을 창 안과 밖에서 추적된 지출을 비교해 검증해 보세요.

off_peak_pricing은 모델 가격 항목이 살 수 있는 어디서든 동작해요. 위처럼 배포의 model_info, 커스텀 호스팅 비용 맵의 항목, 또는 SDK의 litellm.register_model에서요. 이건 커스텀 가격 오버라이드가 아니므로 litellm_params 안에 설정해도 효과가 없어요.

더 알아보기 (Learn more)