From ec427ae322609b08ee90a7abd457be5e6450651f Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Thu, 1 Feb 2024 17:59:49 -0800 Subject: [PATCH] fix(__init__.py): allow model_cost_map to be loaded locally --- litellm/__init__.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/litellm/__init__.py b/litellm/__init__.py index 226078ed4f5..6d49c6ae96d 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -1,11 +1,13 @@ ### INIT VARIABLES ### -import threading, requests +import threading, requests, os from typing import Callable, List, Optional, Dict, Union, Any from litellm.caching import Cache from litellm._logging import set_verbose, _turn_on_debug from litellm.proxy._types import KeyManagementSystem import httpx +import dotenv +dotenv.load_dotenv() ############################################# if set_verbose == True: _turn_on_debug() @@ -163,6 +165,23 @@ _key_management_system: Optional[KeyManagementSystem] = None def get_model_cost_map(url: str): + verbose_logger.debug( + f"os.getenv('LITELLM_LOCAL_MODEL_COST_MAP', False): {os.environ['LITELLM_LOCAL_MODEL_COST_MAP']}" + ) + if ( + os.getenv("LITELLM_LOCAL_MODEL_COST_MAP", False) == True + or os.getenv("LITELLM_LOCAL_MODEL_COST_MAP", False) == "True" + ): + import importlib.resources + import json + + verbose_logger.debug("RUNS LOCALLY") + with importlib.resources.open_text( + "litellm", "model_prices_and_context_window_backup.json" + ) as f: + content = json.load(f) + return content + try: with requests.get( url, timeout=5