From 58144769bb11e64f421fc86385b6bcbf4b23a59e Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Mon, 28 Apr 2025 14:44:38 -0700 Subject: [PATCH] Add typing for litellm.moderation response obj --- litellm/cost_calculator.py | 8 +++++--- litellm/litellm_core_utils/litellm_logging.py | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/litellm/cost_calculator.py b/litellm/cost_calculator.py index 593cdb2850a..1320d49123d 100644 --- a/litellm/cost_calculator.py +++ b/litellm/cost_calculator.py @@ -58,6 +58,7 @@ from litellm.responses.utils import ResponseAPILoggingUtils from litellm.types.llms.openai import ( HttpxBinaryResponseContent, ImageGenerationRequestQuality, + OpenAIModerationResponse, OpenAIRealtimeStreamList, OpenAIRealtimeStreamResponseBaseObject, OpenAIRealtimeStreamSessionEvents, @@ -643,9 +644,9 @@ def completion_cost( # noqa: PLR0915 or isinstance(completion_response, dict) ): # tts returns a custom class if isinstance(completion_response, dict): - usage_obj: Optional[ - Union[dict, Usage] - ] = completion_response.get("usage", {}) + usage_obj: Optional[Union[dict, Usage]] = ( + completion_response.get("usage", {}) + ) else: usage_obj = getattr(completion_response, "usage", {}) if isinstance(usage_obj, BaseModel) and not _is_known_usage_objects( @@ -944,6 +945,7 @@ def response_cost_calculator( RerankResponse, ResponsesAPIResponse, LiteLLMRealtimeStreamLoggingObject, + OpenAIModerationResponse, ], model: str, custom_llm_provider: Optional[str], diff --git a/litellm/litellm_core_utils/litellm_logging.py b/litellm/litellm_core_utils/litellm_logging.py index 441392a1192..3f8c0c65e77 100644 --- a/litellm/litellm_core_utils/litellm_logging.py +++ b/litellm/litellm_core_utils/litellm_logging.py @@ -59,6 +59,7 @@ from litellm.types.llms.openai import ( FineTuningJob, HttpxBinaryResponseContent, OpenAIFileObject, + OpenAIModerationResponse, ResponseCompletedEvent, ResponsesAPIResponse, ) @@ -943,6 +944,7 @@ class Logging(LiteLLMLoggingBaseClass): ResponseCompletedEvent, OpenAIFileObject, LiteLLMRealtimeStreamLoggingObject, + OpenAIModerationResponse, ], cache_hit: Optional[bool] = None, litellm_model_name: Optional[str] = None, @@ -1137,6 +1139,7 @@ class Logging(LiteLLMLoggingBaseClass): or isinstance(logging_result, ResponsesAPIResponse) or isinstance(logging_result, OpenAIFileObject) or isinstance(logging_result, LiteLLMRealtimeStreamLoggingObject) + or isinstance(logging_result, OpenAIModerationResponse) ): ## HIDDEN PARAMS ## hidden_params = getattr(logging_result, "_hidden_params", {})