From 67d65272172bd693ac70bbac4bdc9f4afefa88f0 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Thu, 24 Aug 2023 08:20:19 -0700 Subject: [PATCH] accept model alias --- litellm/__init__.py | 1 + litellm/__pycache__/__init__.cpython-311.pyc | Bin 7181 -> 7267 bytes litellm/__pycache__/main.cpython-311.pyc | Bin 29055 -> 29218 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 63523 -> 65002 bytes litellm/main.py | 6 +++-- litellm/tests/test_model_alias_map.py | 16 ++++++++++++ litellm/utils.py | 25 ++++++++++--------- pyproject.toml | 2 +- 8 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 litellm/tests/test_model_alias_map.py diff --git a/litellm/__init__.py b/litellm/__init__.py index 7d88e9b11..c5c2cd68d 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -23,6 +23,7 @@ vertex_location: Optional[str] = None togetherai_api_key: Optional[str] = None caching = False caching_with_models = False # if you want the caching key to be model + prompt +model_alias_map = {} debugger = False model_cost = { "babbage-002": { diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index 2d7525526a1faf1a17147a3343efc701e0d077ea..3b65dc585fe8cd1d112607f8b09471fd6029de25 100644 GIT binary patch delta 1226 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 delta 5203 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 if you pass in a custom logging function + print_verbose(f"model call details: {self.model_call_details}") print_verbose( f"Logging Details: logger_fn - {self.logger_fn} | callable(logger_fn) - {callable(self.logger_fn)}" ) @@ -187,8 +191,8 @@ class Logging: try: if callback == "supabase": print_verbose("reaches supabase for logging!") - model = self.model - messages = self.messages + model = self.model_call_details["model"] + messages = self.model_call_details["input"] print(f"supabaseClient: {supabaseClient}") supabaseClient.input_log_event( model=model, @@ -201,8 +205,8 @@ class Logging: elif callback == "lite_debugger": print_verbose("reaches litedebugger for logging!") - model = self.model - messages = self.messages + model = self.model_call_details["model"] + messages = self.model_call_details["input"] print_verbose(f"liteDebuggerClient: {liteDebuggerClient}") liteDebuggerClient.input_log_event( model=model, @@ -1119,6 +1123,7 @@ def get_all_keys(llm_provider=None): try: global last_fetched_at # if user is using hosted product -> instantiate their env with their hosted api keys - refresh every 5 minutes + print_verbose(f"Reaches get all keys, llm_provider: {llm_provider}") user_email = os.getenv("LITELLM_EMAIL") or litellm.email or litellm.token or os.getenv("LITELLM_TOKEN") if user_email: time_delta = 0 @@ -1135,9 +1140,11 @@ def get_all_keys(llm_provider=None): # update model list for key, value in data["model_keys"].items(): # follows the LITELLM API KEY format - _API_KEY - e.g. HUGGINGFACE_API_KEY os.environ[key] = value + # set model alias map + for model_alias, value in data["model_alias_map"].items(): + litellm.model_alias_map[model_alias] = value return "it worked!" return None - # return None by default return None except: print_verbose(f"[Non-Blocking Error] get_all_keys error - {traceback.format_exc()}") @@ -1149,12 +1156,6 @@ def get_model_list(): # if user is using hosted product -> get their updated model list user_email = os.getenv("LITELLM_EMAIL") or litellm.email or litellm.token or os.getenv("LITELLM_TOKEN") if user_email: - # Commented out the section checking time delta - # time_delta = 0 - # if last_fetched_at != None: - # current_time = time.time() - # time_delta = current_time - last_fetched_at - # if time_delta > 300 or last_fetched_at == None: # make the api call last_fetched_at = time.time() print(f"last_fetched_at: {last_fetched_at}") diff --git a/pyproject.toml b/pyproject.toml index 5bcbd942c..ea08499fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm" -version = "0.1.475" +version = "0.1.476" description = "Library to easily interface with LLM API providers" authors = ["BerriAI"] license = "MIT License"