mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
fix(proxy): store the actual selected model in spend logs for Azure Model Router
Co-authored-by: Filippo Mattia Menghi <filippo@menghi.dev> Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
354f497faf
commit
cafc8c1455
2 changed files with 45 additions and 1 deletions
|
|
@ -411,7 +411,9 @@ def get_logging_payload(kwargs, response_obj, start_time, end_time) -> SpendLogs
|
|||
or None
|
||||
)
|
||||
raw_model: Final = cast(str, kwargs.get("model") or "")
|
||||
model_name: Final = reconstruct_model_name(raw_model, custom_llm_provider, metadata or {})
|
||||
model_name: Final = (
|
||||
standard_logging_payload.get("model") if standard_logging_payload is not None else None
|
||||
) or reconstruct_model_name(raw_model, custom_llm_provider, metadata or {})
|
||||
|
||||
try:
|
||||
payload: Final[SpendLogsPayload] = SpendLogsPayload(
|
||||
|
|
|
|||
|
|
@ -3241,3 +3241,45 @@ def test_get_logging_payload_failed_request_without_standard_logging_payload_lea
|
|||
assert payload["model_group"] == ""
|
||||
assert payload["api_base"] == ""
|
||||
assert payload["custom_llm_provider"] == ""
|
||||
|
||||
|
||||
def _model_router_spend_log_kwargs(slp_model: str | None) -> dict[str, Any]:
|
||||
standard_logging_payload: Final = cast(
|
||||
StandardLoggingPayload,
|
||||
{
|
||||
"model": slp_model,
|
||||
"metadata": {},
|
||||
"model_map_information": StandardLoggingModelInformation(
|
||||
model_map_key="azure_ai/model_router", model_map_value=None
|
||||
),
|
||||
},
|
||||
)
|
||||
return {
|
||||
"model": "azure_ai/model_router/model-router",
|
||||
"litellm_params": {"metadata": {"user_api_key": "sk-test-key"}},
|
||||
"standard_logging_object": standard_logging_payload,
|
||||
}
|
||||
|
||||
|
||||
@patch("litellm.proxy.proxy_server.master_key", None)
|
||||
@patch("litellm.proxy.proxy_server.general_settings", {})
|
||||
def test_get_logging_payload_uses_standard_logging_payload_model():
|
||||
payload = get_logging_payload(
|
||||
kwargs=_model_router_spend_log_kwargs(slp_model="azure_ai/gpt-5-mini"),
|
||||
response_obj={},
|
||||
start_time=datetime.datetime.now(timezone.utc),
|
||||
end_time=datetime.datetime.now(timezone.utc),
|
||||
)
|
||||
assert payload["model"] == "azure_ai/gpt-5-mini"
|
||||
|
||||
|
||||
@patch("litellm.proxy.proxy_server.master_key", None)
|
||||
@patch("litellm.proxy.proxy_server.general_settings", {})
|
||||
def test_get_logging_payload_falls_back_to_kwargs_model_when_slp_model_missing():
|
||||
payload = get_logging_payload(
|
||||
kwargs=_model_router_spend_log_kwargs(slp_model=None),
|
||||
response_obj={},
|
||||
start_time=datetime.datetime.now(timezone.utc),
|
||||
end_time=datetime.datetime.now(timezone.utc),
|
||||
)
|
||||
assert payload["model"] == "azure_ai/model_router/model-router"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue