Spaces:
Runtime error
Runtime error
| """Sort evaluation queue by priority.""" | |
| from typing import List | |
| from huggingface_hub import HfApi | |
| from src.backend.manage_requests import EvalRequest | |
| def sort_models_by_priority(api: HfApi, models: List[EvalRequest]) -> List[EvalRequest]: | |
| """ | |
| Sort models by priority for evaluation. | |
| Current strategy: FIFO (first in, first out) based on submission time. | |
| Can be extended to prioritize by model popularity, size, etc. | |
| Args: | |
| api: HuggingFace API client | |
| models: List of evaluation requests | |
| Returns: | |
| Sorted list of evaluation requests | |
| """ | |
| # Sort by submission time (oldest first) | |
| return sorted(models, key=lambda x: x.submitted_time) | |
| def sort_models_by_likes(api: HfApi, models: List[EvalRequest]) -> List[EvalRequest]: | |
| """ | |
| Sort models by Hub likes (most popular first). | |
| Args: | |
| api: HuggingFace API client | |
| models: List of evaluation requests | |
| Returns: | |
| Sorted list of evaluation requests | |
| """ | |
| return sorted(models, key=lambda x: x.likes, reverse=True) | |
| def sort_models_by_size(models: List[EvalRequest], ascending: bool = True) -> List[EvalRequest]: | |
| """ | |
| Sort models by parameter count. | |
| Args: | |
| models: List of evaluation requests | |
| ascending: If True, smallest models first | |
| Returns: | |
| Sorted list of evaluation requests | |
| """ | |
| return sorted(models, key=lambda x: x.params, reverse=not ascending) | |