mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-13 08:52:02 +00:00
fix(proxy): drop a key logging entry whose referenced credential holds no logging values
This commit is contained in:
parent
b4a7baec27
commit
4e67f5be1c
2 changed files with 25 additions and 7 deletions
|
|
@ -761,18 +761,18 @@ def _with_credential(entry: Mapping[str, object]) -> Mapping[str, object] | None
|
|||
credential_name: Final = entry.get("litellm_credential_name")
|
||||
if not isinstance(credential_name, str):
|
||||
return entry
|
||||
if CredentialAccessor.find_credential(credential_name) is None:
|
||||
verbose_proxy_logger.warning(
|
||||
"Ignoring key logging entry for %s: credential %r is not defined",
|
||||
entry.get("callback_name"),
|
||||
credential_name,
|
||||
)
|
||||
return None
|
||||
credential_vars: Final = {
|
||||
name: str(value)
|
||||
for name, value in CredentialAccessor.get_credential_values(credential_name).items()
|
||||
if name in CALLBACK_VAR_NAMES and value is not None
|
||||
}
|
||||
if not credential_vars:
|
||||
verbose_proxy_logger.warning(
|
||||
"Ignoring key logging entry for %s: credential %r is not defined or holds no logging values",
|
||||
entry.get("callback_name"),
|
||||
credential_name,
|
||||
)
|
||||
return None
|
||||
return {**entry, "callback_vars": {**credential_vars, **string_keyed(entry.get("callback_vars"))}}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -808,6 +808,24 @@ def test_key_logging_entries_merges_each_referenced_credential_under_its_entry(m
|
|||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"credential_values",
|
||||
[{"api_key": "sk-model-key"}, {"arize_api_key": None}],
|
||||
ids=["model-credential", "null-values"],
|
||||
)
|
||||
def test_key_logging_entries_drops_an_entry_whose_credential_supplies_no_logging_values(
|
||||
monkeypatch: pytest.MonkeyPatch, credential_values: dict[str, object]
|
||||
) -> None:
|
||||
monkeypatch.setattr(litellm, "credential_list", [_credential("model-only", credential_values)])
|
||||
kept: Final = {"callback_name": "langfuse", "callback_vars": {"langfuse_public_key": "pk"}}
|
||||
entries: Final = [
|
||||
kept,
|
||||
{"callback_name": "arize", "litellm_credential_name": "model-only", "callback_vars": {}},
|
||||
]
|
||||
|
||||
assert key_logging_entries({"logging": entries}) == (kept,)
|
||||
|
||||
|
||||
def test_key_logging_entries_drops_an_entry_whose_credential_is_not_defined(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setattr(litellm, "credential_list", [_credential("space-a", {"arize_api_key": "key-a"})])
|
||||
kept: Final = {"callback_name": "langfuse", "callback_vars": {"langfuse_public_key": "pk"}}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue