in src/huggingface_hub/inference/_providers/_common.py [0:0]
def _prepare_mapping_info(self, model: Optional[str]) -> InferenceProviderMapping:
"""Return the mapped model ID to use for the request.
Usually not overwritten in subclasses."""
if model is None:
raise ValueError(f"Please provide an HF model ID supported by {self.provider}.")
# hardcoded mapping for local testing
if HARDCODED_MODEL_INFERENCE_MAPPING.get(self.provider, {}).get(model):
return HARDCODED_MODEL_INFERENCE_MAPPING[self.provider][model]
provider_mapping = None
for mapping in _fetch_inference_provider_mapping(model):
if mapping.provider == self.provider:
provider_mapping = mapping
break
if provider_mapping is None:
raise ValueError(f"Model {model} is not supported by provider {self.provider}.")
if provider_mapping.task != self.task:
raise ValueError(
f"Model {model} is not supported for task {self.task} and provider {self.provider}. "
f"Supported task: {provider_mapping.task}."
)
if provider_mapping.status == "staging":
logger.warning(
f"Model {model} is in staging mode for provider {self.provider}. Meant for test purposes only."
)
if provider_mapping.status == "error":
logger.warning(
f"Our latest automated health check on model '{model}' for provider '{self.provider}' did not complete successfully. "
"Inference call might fail."
)
return provider_mapping