This commit is contained in:
Caesar / 谢佳辰 · Jiachen Xie 2026-11-04 01:27:41 +00:00 • committed by GitHub
commit bd10b71cf1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 48 additions and 1 deletions

View file

@ -7220,7 +7220,11 @@ def get_model_info_helper(
e,
)
if not catalog_only and custom_llm_provider == "huggingface":
if (
not catalog_only
and custom_llm_provider == "huggingface"
and not _is_potential_model_name_in_model_cost(potential_model_names)
):
max_tokens: Final = _get_max_position_embeddings(model_name=model)
return ModelInfoBase(
key=model,

View file

@ -1907,6 +1907,49 @@ def test_tiered_pricing_only_deployment_completion_cost_is_nonzero():
assert cost > 0
@pytest.mark.parametrize(
("registered_model", "model"),
[
("hf-tei-rerank-deployment", "hf-tei-rerank-deployment"),
("huggingface/hf-tei-rerank-deployment", "huggingface/hf-tei-rerank-deployment"),
("hf-tei-rerank-deployment", "HF-TEI-RERANK-DEPLOYMENT"),
],
)
@pytest.mark.usefixtures("local_model_cost_map")
def test_huggingface_rerank_uses_registered_input_cost_per_query(
registered_model: str, model: str, request: pytest.FixtureRequest
):
"""Registered per-query price must apply for huggingface/TEI rerank (#45975).
``_get_model_info_helper`` used to return a synthetic zero-cost huggingface
description before consulting ``litellm.model_cost``, so a deployment priced
only via ``input_cost_per_query`` always billed $0 under that provider.
"""
from litellm.cost_calculator import rerank_cost
from litellm.utils import cached_get_model_info_helper
cached_get_model_info_helper.cache_clear()
request.addfinalizer(cached_get_model_info_helper.cache_clear)
litellm.model_cost.pop(registered_model, None)
litellm.register_model({registered_model: {"input_cost_per_query": 0.001}})
cost = rerank_cost(
model=model,
custom_llm_provider="huggingface",
billed_units={"search_units": 1},
)
assert cost == (0.001, 0.0)
# Unregistered huggingface models still get the synthetic zero-cost fallback.
cached_get_model_info_helper.cache_clear()
info = litellm.get_model_info(
model="unregistered-hf-tei-model-xyz",
custom_llm_provider="huggingface",
)
assert info["input_cost_per_token"] == 0
assert info["output_cost_per_token"] == 0
def test_per_query_priced_rerank_deployment_completion_cost_is_nonzero():
"""A rerank deployment priced only via ``input_cost_per_query`` must resolve
cost against its ``router_model_id`` entry: the shared backend alias has