def trending_model_generator()

in trending_deploy/models.py [0:0]


def trending_model_generator(task: str) -> Iterator[Model]:
    for model_info in list_models(
        pipeline_tag=task,
        tags="endpoints_compatible",
        expand=[
            "createdAt",
            "trendingScore",
            "tags",
            "library_name",
            "likes",
            "downloads",
            "downloadsAllTime",
            "safetensors",
            "pipeline_tag",
        ],
    ):
        if "custom_code" in model_info.tags:
            continue

        # Get the number of parameters to determine which instance type is viable.
        # Sometimes it may fail (e.g. non-authorized models), so we just skip those models.
        try:
            num_parameters = get_num_parameters_from_model(model_info)
        except Exception:
            continue
        if num_parameters is None:
            continue
        
        viable_instance: Instance = get_viable_instance_from_num_parameters(num_parameters)
        if viable_instance is None:
            continue

        yield Model(model_info=model_info, viable_instance=viable_instance)