fix(cost_calculator): resolve B009 lint and preserve provider fallback for bare models

This commit is contained in:
pfolex 2026-10-28 09:51:31 -04:00
parent 491401c7fa
commit 35da226610
2 changed files with 18 additions and 7 deletions

View file

@ -1757,11 +1757,13 @@ def completion_cost(
custom_llm_provider = (
candidate_pricing_provider
or pricing_provider
or hidden_params.get("custom_llm_provider")
or candidate_custom_llm_provider
or hidden_params.get(
"custom_llm_provider",
candidate_custom_llm_provider or custom_llm_provider or None,
)
)
region_name = hidden_params.get("region_name", region_name)
else:
elif candidate_pricing_provider or candidate_custom_llm_provider:
custom_llm_provider = candidate_pricing_provider or candidate_custom_llm_provider
else:

View file

@ -153,11 +153,11 @@ class OpenAILikeChatConfig(OpenAIGPTConfig):
resolved_custom_llm_provider = (
litellm_params.get("custom_llm_provider") if isinstance(litellm_params, dict) else None
) or (
getattr(model_response, "_hidden_params", {}).get("custom_llm_provider")
if hasattr(model_response, "_hidden_params") and isinstance(getattr(model_response, "_hidden_params"), dict)
model_response._hidden_params.get("custom_llm_provider")
if isinstance(model_response._hidden_params, dict)
else None
)
return OpenAILikeChatConfig._transform_response(
transformed_response = OpenAILikeChatConfig._transform_response(
model=model,
response=raw_response,
model_response=model_response,
@ -170,9 +170,18 @@ class OpenAILikeChatConfig(OpenAIGPTConfig):
print_verbose=None,
encoding=None,
json_mode=json_mode,
custom_llm_provider=resolved_custom_llm_provider,
custom_llm_provider=None,
base_model=None,
)
if resolved_custom_llm_provider is not None and isinstance(transformed_response._hidden_params, dict):
transformed_response._hidden_params.setdefault("custom_llm_provider", resolved_custom_llm_provider)
if (
transformed_response.model
and "/" in transformed_response.model
and not transformed_response.model.startswith(f"{resolved_custom_llm_provider}/")
):
transformed_response.model = f"{resolved_custom_llm_provider}/{transformed_response.model}"
return transformed_response
def map_openai_params(
self,