Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
fix filteredCount number
Browse files
frontend/src/pages/LeaderboardPage/components/Leaderboard/hooks/useDataUtils.js
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
| 4 |
parseSearchQuery,
|
| 5 |
getValueByPath,
|
| 6 |
} from "../utils/searchUtils";
|
|
|
|
| 7 |
|
| 8 |
// Calculate min/max averages
|
| 9 |
export const useAverageRange = (data) => {
|
|
@@ -58,9 +59,7 @@ export const useProcessedData = (data, averageMode, visibleColumns) => {
|
|
| 58 |
...item.features,
|
| 59 |
is_moe: Boolean(item.features.is_moe),
|
| 60 |
is_flagged: Boolean(item.features.is_flagged),
|
| 61 |
-
is_official_provider: Boolean(
|
| 62 |
-
item.features.is_official_provider
|
| 63 |
-
),
|
| 64 |
is_merged: Boolean(item.features.is_merged),
|
| 65 |
is_not_available_on_hub: Boolean(item.features.is_not_available_on_hub),
|
| 66 |
};
|
|
@@ -84,10 +83,12 @@ export const useProcessedData = (data, averageMode, visibleColumns) => {
|
|
| 84 |
return b.model.average_score - a.model.average_score;
|
| 85 |
});
|
| 86 |
|
| 87 |
-
|
| 88 |
...item,
|
| 89 |
static_rank: index + 1,
|
| 90 |
}));
|
|
|
|
|
|
|
| 91 |
}, [data, averageMode, visibleColumns]);
|
| 92 |
};
|
| 93 |
|
|
@@ -107,6 +108,7 @@ export const useFilteredData = (
|
|
| 107 |
const pinnedData = processedData.filter((row) => {
|
| 108 |
return pinnedModels.includes(row.id);
|
| 109 |
});
|
|
|
|
| 110 |
const unpinnedData = processedData.filter((row) => {
|
| 111 |
return !pinnedModels.includes(row.id);
|
| 112 |
});
|
|
@@ -130,7 +132,10 @@ export const useFilteredData = (
|
|
| 130 |
}
|
| 131 |
|
| 132 |
// Filter by type
|
| 133 |
-
if (
|
|
|
|
|
|
|
|
|
|
| 134 |
filteredUnpinned = filteredUnpinned.filter((row) => {
|
| 135 |
const modelType = row.model.type?.toLowerCase().trim();
|
| 136 |
return selectedTypes.some((type) => modelType?.includes(type));
|
|
@@ -138,15 +143,14 @@ export const useFilteredData = (
|
|
| 138 |
}
|
| 139 |
|
| 140 |
// Filter by parameters
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
});
|
| 150 |
|
| 151 |
// Filter by search
|
| 152 |
if (searchValue) {
|
|
|
|
| 4 |
parseSearchQuery,
|
| 5 |
getValueByPath,
|
| 6 |
} from "../utils/searchUtils";
|
| 7 |
+
import { MODEL_TYPE_ORDER } from "../constants/modelTypes";
|
| 8 |
|
| 9 |
// Calculate min/max averages
|
| 10 |
export const useAverageRange = (data) => {
|
|
|
|
| 59 |
...item.features,
|
| 60 |
is_moe: Boolean(item.features.is_moe),
|
| 61 |
is_flagged: Boolean(item.features.is_flagged),
|
| 62 |
+
is_official_provider: Boolean(item.features.is_official_provider),
|
|
|
|
|
|
|
| 63 |
is_merged: Boolean(item.features.is_merged),
|
| 64 |
is_not_available_on_hub: Boolean(item.features.is_not_available_on_hub),
|
| 65 |
};
|
|
|
|
| 83 |
return b.model.average_score - a.model.average_score;
|
| 84 |
});
|
| 85 |
|
| 86 |
+
const result = processed.map((item, index) => ({
|
| 87 |
...item,
|
| 88 |
static_rank: index + 1,
|
| 89 |
}));
|
| 90 |
+
|
| 91 |
+
return result;
|
| 92 |
}, [data, averageMode, visibleColumns]);
|
| 93 |
};
|
| 94 |
|
|
|
|
| 108 |
const pinnedData = processedData.filter((row) => {
|
| 109 |
return pinnedModels.includes(row.id);
|
| 110 |
});
|
| 111 |
+
|
| 112 |
const unpinnedData = processedData.filter((row) => {
|
| 113 |
return !pinnedModels.includes(row.id);
|
| 114 |
});
|
|
|
|
| 132 |
}
|
| 133 |
|
| 134 |
// Filter by type
|
| 135 |
+
if (
|
| 136 |
+
selectedTypes.length > 0 &&
|
| 137 |
+
selectedTypes.length < MODEL_TYPE_ORDER.length
|
| 138 |
+
) {
|
| 139 |
filteredUnpinned = filteredUnpinned.filter((row) => {
|
| 140 |
const modelType = row.model.type?.toLowerCase().trim();
|
| 141 |
return selectedTypes.some((type) => modelType?.includes(type));
|
|
|
|
| 143 |
}
|
| 144 |
|
| 145 |
// Filter by parameters
|
| 146 |
+
if (!(paramsRange[0] === -1 && paramsRange[1] === 140)) {
|
| 147 |
+
filteredUnpinned = filteredUnpinned.filter((row) => {
|
| 148 |
+
const params =
|
| 149 |
+
row.metadata?.params_billions || row.features?.params_billions;
|
| 150 |
+
if (params === undefined || params === null) return false;
|
| 151 |
+
return params >= paramsRange[0] && params < paramsRange[1];
|
| 152 |
+
});
|
| 153 |
+
}
|
|
|
|
| 154 |
|
| 155 |
// Filter by search
|
| 156 |
if (searchValue) {
|