diff --git a/litellm/proxy/db/db_spend_update_writer.py b/litellm/proxy/db/db_spend_update_writer.py index a305d5be1e6..d7699c2fa07 100644 --- a/litellm/proxy/db/db_spend_update_writer.py +++ b/litellm/proxy/db/db_spend_update_writer.py @@ -1970,7 +1970,9 @@ class DBSpendUpdateWriter: return endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{payload['user']}_{base_daily_transaction['date']}_{payload['api_key']}_{payload['model']}_{payload['custom_llm_provider']}_{endpoint_str}" + model_str = payload.get("model") or "" + provider_str = payload.get("custom_llm_provider") or "" + daily_transaction_key = f"{payload['user']}_{base_daily_transaction['date']}_{payload['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyUserSpendTransaction( user_id=payload["user"], **base_daily_transaction ) @@ -2003,7 +2005,9 @@ class DBSpendUpdateWriter: return endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{payload['team_id']}_{base_daily_transaction['date']}_{payload['api_key']}_{payload['model']}_{payload['custom_llm_provider']}_{endpoint_str}" + model_str = payload.get("model") or "" + provider_str = payload.get("custom_llm_provider") or "" + daily_transaction_key = f"{payload['team_id']}_{base_daily_transaction['date']}_{payload['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyTeamSpendTransaction( team_id=payload["team_id"], **base_daily_transaction ) @@ -2046,7 +2050,9 @@ class DBSpendUpdateWriter: return endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{org_id}_{base_daily_transaction['date']}_{payload_with_org['api_key']}_{payload_with_org['model']}_{payload_with_org['custom_llm_provider']}_{endpoint_str}" + model_str = payload_with_org.get("model") or "" + provider_str = payload_with_org.get("custom_llm_provider") or "" + daily_transaction_key = f"{org_id}_{base_daily_transaction['date']}_{payload_with_org['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyOrganizationSpendTransaction( organization_id=org_id, **base_daily_transaction ) @@ -2089,7 +2095,9 @@ class DBSpendUpdateWriter: return endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{end_user_id}_{base_daily_transaction['date']}_{payload_with_end_user_id['api_key']}_{payload_with_end_user_id['model']}_{payload_with_end_user_id['custom_llm_provider']}_{endpoint_str}" + model_str = payload_with_end_user_id.get("model") or "" + provider_str = payload_with_end_user_id.get("custom_llm_provider") or "" + daily_transaction_key = f"{end_user_id}_{base_daily_transaction['date']}_{payload_with_end_user_id['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyEndUserSpendTransaction( end_user_id=end_user_id, **base_daily_transaction ) @@ -2124,7 +2132,9 @@ class DBSpendUpdateWriter: if base_daily_transaction is None: return endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{payload['agent_id']}_{base_daily_transaction['date']}_{payload_with_agent_id['api_key']}_{payload_with_agent_id['model']}_{payload_with_agent_id['custom_llm_provider']}_{endpoint_str}" + model_str = payload_with_agent_id.get("model") or "" + provider_str = payload_with_agent_id.get("custom_llm_provider") or "" + daily_transaction_key = f"{payload['agent_id']}_{base_daily_transaction['date']}_{payload_with_agent_id['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyAgentSpendTransaction( agent_id=payload["agent_id"], **base_daily_transaction ) @@ -2165,7 +2175,9 @@ class DBSpendUpdateWriter: raise ValueError(f"Invalid request_tags: {payload['request_tags']}") for tag in request_tags: endpoint_str = base_daily_transaction.get("endpoint") or "" - daily_transaction_key = f"{tag}_{base_daily_transaction['date']}_{payload['api_key']}_{payload['model']}_{payload['custom_llm_provider']}_{endpoint_str}" + model_str = payload.get("model") or "" + provider_str = payload.get("custom_llm_provider") or "" + daily_transaction_key = f"{tag}_{base_daily_transaction['date']}_{payload['api_key']}_{model_str}_{provider_str}_{endpoint_str}" daily_transaction = DailyTagSpendTransaction( tag=tag, **base_daily_transaction, request_id=payload["request_id"] )