From d6537a05ca168d88849e456df14ae3b7296ac64b Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Thu, 14 Mar 2024 12:58:34 -0700 Subject: [PATCH] fix(caching.py): fix print statements --- litellm/caching.py | 11 ++++++++--- litellm/proxy/_new_secret_config.yaml | 4 ++++ litellm/proxy/proxy_server.py | 12 +++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/litellm/caching.py b/litellm/caching.py index f22606bd3..33a18b8c1 100644 --- a/litellm/caching.py +++ b/litellm/caching.py @@ -142,7 +142,9 @@ class RedisCache(BaseCache): ) except Exception as e: # NON blocking - notify users Redis is throwing an exception - print_verbose("LiteLLM Caching: set() - Got exception from REDIS : ", e) + print_verbose( + f"LiteLLM Redis Caching: async set() - Got exception from REDIS : {str(e)}" + ) async def async_set_cache_pipeline(self, cache_list, ttl=None): """ @@ -905,8 +907,11 @@ class Cache: # for streaming, we use preset_cache_key. It's created in wrapper(), we do this because optional params like max_tokens, get transformed for bedrock -> max_new_tokens if kwargs.get("litellm_params", {}).get("preset_cache_key", None) is not None: - print_verbose(f"\nReturning preset cache key: {cache_key}") - return kwargs.get("litellm_params", {}).get("preset_cache_key", None) + _preset_cache_key = kwargs.get("litellm_params", {}).get( + "preset_cache_key", None + ) + print_verbose(f"\nReturning preset cache key: {_preset_cache_key}") + return _preset_cache_key # sort kwargs by keys, since model: [gpt-4, temperature: 0.2, max_tokens: 200] == [temperature: 0.2, max_tokens: 200, model: gpt-4] completion_kwargs = [ diff --git a/litellm/proxy/_new_secret_config.yaml b/litellm/proxy/_new_secret_config.yaml index 0c88f7ddf..aab9b3d5c 100644 --- a/litellm/proxy/_new_secret_config.yaml +++ b/litellm/proxy/_new_secret_config.yaml @@ -4,6 +4,10 @@ model_list: model: openai/my-fake-model api_key: my-fake-key api_base: http://0.0.0.0:8080 +- model_name: gpt-3.5-turbo + litellm_params: + model: gpt-3.5-turbo-1106 + api_key: os.environ/OPENAI_API_KEY general_settings: master_key: sk-1234 diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 200c86fc4..c50b0e895 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -1112,15 +1112,25 @@ async def update_database( max_budget=max_user_budget, user_email=None, ) + else: existing_user_obj.spend = ( existing_user_obj.spend + response_cost ) + user_object_json = {**existing_user_obj.json(exclude_none=True)} + + user_object_json["model_max_budget"] = json.dumps( + user_object_json["model_max_budget"] + ) + user_object_json["model_spend"] = json.dumps( + user_object_json["model_spend"] + ) + await prisma_client.db.litellm_usertable.upsert( where={"user_id": end_user_id}, data={ - "create": {**existing_user_obj.json(exclude_none=True)}, + "create": user_object_json, "update": {"spend": {"increment": response_cost}}, }, )