Merge branch 'pr-20020' into litellm_pr_review_000003

This commit is contained in:
Alexsander Hamir 2026-02-02 09:47:20 -08:00
commit c903de45b7
2 changed files with 42 additions and 3 deletions

View file

@ -17,15 +17,16 @@ from litellm.types.rerank import RerankRequest
class ModelParamHelper:
# Cached at class level — deterministic set built from static OpenAI type annotations
_relevant_logging_args: frozenset = frozenset()
@staticmethod
def get_standard_logging_model_parameters(
model_parameters: dict,
) -> dict:
""" """
standard_logging_model_parameters: dict = {}
supported_model_parameters = (
ModelParamHelper._get_relevant_args_to_use_for_logging()
)
supported_model_parameters = ModelParamHelper._relevant_logging_args
for key, value in model_parameters.items():
if key in supported_model_parameters:
@ -172,3 +173,8 @@ class ModelParamHelper:
Get the kwargs to exclude from the cache key
"""
return set(["metadata"])
ModelParamHelper._relevant_logging_args = frozenset(
ModelParamHelper._get_relevant_args_to_use_for_logging()
)

View file

@ -0,0 +1,33 @@
from litellm.litellm_core_utils.model_param_helper import ModelParamHelper
def test_cached_relevant_logging_args_matches_dynamic():
"""Verify the cached frozenset matches the dynamically computed set."""
cached = ModelParamHelper._relevant_logging_args
dynamic = ModelParamHelper._get_relevant_args_to_use_for_logging()
assert cached == dynamic
assert isinstance(cached, frozenset)
def test_get_standard_logging_model_parameters_filters():
"""Verify model parameters are filtered to only supported keys."""
params = {"temperature": 0.7, "messages": [{"role": "user"}], "max_tokens": 100}
result = ModelParamHelper.get_standard_logging_model_parameters(params)
assert "temperature" in result
assert "max_tokens" in result
assert "messages" not in result # excluded prompt content
def test_get_standard_logging_model_parameters_excludes_prompt_content():
"""Verify all prompt content keys are excluded."""
params = {
"messages": [{"role": "user", "content": "hi"}],
"prompt": "hello",
"input": "test",
"temperature": 0.5,
}
result = ModelParamHelper.get_standard_logging_model_parameters(params)
assert "messages" not in result
assert "prompt" not in result
assert "input" not in result
assert result == {"temperature": 0.5}