mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-22 00:31:44 +00:00
Merge branch 'pr-20020' into litellm_pr_review_000003
This commit is contained in:
commit
c903de45b7
2 changed files with 42 additions and 3 deletions
|
|
@ -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()
|
||||
)
|
||||
|
|
|
|||
33
tests/test_litellm/test_model_param_helper.py
Normal file
33
tests/test_litellm/test_model_param_helper.py
Normal 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}
|
||||
Loading…
Add table
Reference in a new issue