fix(utils.py): fix double hashing issue on spend logs, streaming usage metadata logging iss

ue for spend logs
This commit is contained in:
Krrish Dholakia 2024-01-23 16:14:01 -08:00
parent f8870fb48e
commit d52f5234b4
3 changed files with 23 additions and 9 deletions

View file

@ -699,6 +699,7 @@ async def update_database(
valid_token.spend = new_spend valid_token.spend = new_spend
user_api_key_cache.set_cache(key=token, value=valid_token) user_api_key_cache.set_cache(key=token, value=valid_token)
### UPDATE SPEND LOGS ###
async def _insert_spend_log_to_db(): async def _insert_spend_log_to_db():
# Helper to generate payload to log # Helper to generate payload to log
verbose_proxy_logger.debug("inserting spend log to db") verbose_proxy_logger.debug("inserting spend log to db")

View file

@ -834,7 +834,7 @@ def get_logging_payload(kwargs, response_obj, start_time, end_time):
usage = response_obj["usage"] usage = response_obj["usage"]
id = response_obj.get("id", str(uuid.uuid4())) id = response_obj.get("id", str(uuid.uuid4()))
api_key = metadata.get("user_api_key", "") api_key = metadata.get("user_api_key", "")
if api_key is not None and type(api_key) == str: if api_key is not None and isinstance(api_key, str) and api_key.startswith("sk-"):
# hash the api_key # hash the api_key
api_key = hash_token(api_key) api_key = hash_token(api_key)

View file

@ -1500,14 +1500,27 @@ class Logging:
end_time=end_time, end_time=end_time,
) )
if callable(callback): # custom logger functions if callable(callback): # custom logger functions
await customLogger.async_log_event( if self.stream:
kwargs=self.model_call_details, if "complete_streaming_response" in self.model_call_details:
response_obj=result, await customLogger.async_log_event(
start_time=start_time, kwargs=self.model_call_details,
end_time=end_time, response_obj=self.model_call_details[
print_verbose=print_verbose, "complete_streaming_response"
callback_func=callback, ],
) start_time=start_time,
end_time=end_time,
print_verbose=print_verbose,
callback_func=callback,
)
else:
await customLogger.async_log_event(
kwargs=self.model_call_details,
response_obj=result,
start_time=start_time,
end_time=end_time,
print_verbose=print_verbose,
callback_func=callback,
)
if callback == "dynamodb": if callback == "dynamodb":
global dynamoLogger global dynamoLogger
if dynamoLogger is None: if dynamoLogger is None: