diff --git a/litellm/proxy/hooks/proxy_track_cost_callback.py b/litellm/proxy/hooks/proxy_track_cost_callback.py index cf0e0a07ed..4b8447fb03 100644 --- a/litellm/proxy/hooks/proxy_track_cost_callback.py +++ b/litellm/proxy/hooks/proxy_track_cost_callback.py @@ -199,9 +199,13 @@ class _ProxyDBLogger(CustomLogger): except Exception as e: error_msg = f"Error in tracking cost callback - {str(e)}\n Traceback:{traceback.format_exc()}" model = kwargs.get("model", "") - metadata = kwargs.get("litellm_params", {}).get("metadata", {}) + metadata = get_litellm_metadata_from_kwargs(kwargs=kwargs) + litellm_metadata = kwargs.get("litellm_params", {}).get( + "litellm_metadata", {} + ) + old_metadata = kwargs.get("litellm_params", {}).get("metadata", {}) call_type = kwargs.get("call_type", "") - error_msg += f"\n Args to _PROXY_track_cost_callback\n model: {model}\n metadata: {metadata}\n call_type: {call_type}\n" + error_msg += f"\n Args to _PROXY_track_cost_callback\n model: {model}\n chosen_metadata: {metadata}\n litellm_metadata: {litellm_metadata}\n old_metadata: {old_metadata}\n call_type: {call_type}\n" asyncio.create_task( proxy_logging_obj.failed_tracking_alert( error_message=error_msg, diff --git a/tests/litellm/litellm_core_utils/test_core_helpers.py b/tests/litellm/litellm_core_utils/test_core_helpers.py new file mode 100644 index 0000000000..3b7acd0d50 --- /dev/null +++ b/tests/litellm/litellm_core_utils/test_core_helpers.py @@ -0,0 +1,22 @@ +import json +import os +import sys +from unittest.mock import MagicMock, patch + +import pytest + +sys.path.insert( + 0, os.path.abspath("../../..") +) # Adds the parent directory to the system path + +from litellm.litellm_core_utils.core_helpers import get_litellm_metadata_from_kwargs + + +def test_get_litellm_metadata_from_kwargs(): + kwargs = { + "litellm_params": { + "litellm_metadata": {}, + "metadata": {"user_api_key": "1234567890"}, + }, + } + assert get_litellm_metadata_from_kwargs(kwargs) == {"user_api_key": "1234567890"}