[Fix] o1-mini causes pydantic warnings on reasoning_tokens (#5754)

* add requester_metadata in standard logging payload

* log requester_metadata in metadata

* use StandardLoggingPayload for logging

* docs StandardLoggingPayload

* fix import

* include standard logging object in failure

* add test for requester metadata

* handle completion_tokens_details

* add test for completion_tokens_details
This commit is contained in:
Ishaan Jaff 2024-09-17 20:23:14 -07:00 committed by GitHub
parent d0425e7767
commit 7f4dfe434a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 91 additions and 22 deletions

View file

@ -1628,6 +1628,17 @@ class Logging:
self.model_call_details.setdefault("original_response", None)
self.model_call_details["response_cost"] = 0
## STANDARDIZED LOGGING PAYLOAD
self.model_call_details["standard_logging_object"] = (
get_standard_logging_object_payload(
kwargs=self.model_call_details,
init_response_obj={},
start_time=start_time,
end_time=end_time,
logging_obj=self,
)
)
if hasattr(exception, "headers") and isinstance(exception.headers, dict):
self.model_call_details.setdefault("litellm_params", {})
metadata = (
@ -2419,6 +2430,7 @@ def get_standard_logging_object_payload(
user_api_key_team_alias=None,
spend_logs_metadata=None,
requester_ip_address=None,
requester_metadata=None,
)
if isinstance(metadata, dict):
# Filter the metadata dictionary to include only the specified keys