From afb00a27cbd139722bd9532f0fe951b9055b6393 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Fri, 23 Aug 2024 07:10:03 -0700 Subject: [PATCH] fix(litellm_pre_call_utils.py): don't override k-v pair sent in spend_logs_metadata by user --- litellm/proxy/litellm_pre_call_utils.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/litellm/proxy/litellm_pre_call_utils.py b/litellm/proxy/litellm_pre_call_utils.py index 04706f0817..60052bc273 100644 --- a/litellm/proxy/litellm_pre_call_utils.py +++ b/litellm/proxy/litellm_pre_call_utils.py @@ -248,9 +248,11 @@ async def add_litellm_data_to_request( if "spend_logs_metadata" in data[_metadata_variable_name] and isinstance( data[_metadata_variable_name]["spend_logs_metadata"], dict ): - data[_metadata_variable_name]["spend_logs_metadata"].update( - key_metadata["spend_logs_metadata"] - ) + for key, value in key_metadata["spend_logs_metadata"].items(): + if ( + key not in data[_metadata_variable_name]["spend_logs_metadata"] + ): # don't override k-v pair sent by request (user request) + data[_metadata_variable_name]["spend_logs_metadata"][key] = value else: data[_metadata_variable_name]["spend_logs_metadata"] = key_metadata[ "spend_logs_metadata" @@ -271,9 +273,11 @@ async def add_litellm_data_to_request( if "spend_logs_metadata" in data[_metadata_variable_name] and isinstance( data[_metadata_variable_name]["spend_logs_metadata"], dict ): - data[_metadata_variable_name]["spend_logs_metadata"].update( - team_metadata["spend_logs_metadata"] - ) + for key, value in team_metadata["spend_logs_metadata"].items(): + if ( + key not in data[_metadata_variable_name]["spend_logs_metadata"] + ): # don't override k-v pair sent by request (user request) + data[_metadata_variable_name]["spend_logs_metadata"][key] = value else: data[_metadata_variable_name]["spend_logs_metadata"] = team_metadata[ "spend_logs_metadata"