Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 2,257 Bytes
34a2915 0061e14 5048713 34a2915 0061e14 7d20cd0 34a2915 0061e14 7d20cd0 54e1175 985eb9a e00a798 7d20cd0 0061e14 34a2915 0061e14 34a2915 0061e14 7d20cd0 34a2915 0061e14 6e793d7 0061e14 6e793d7 0061e14 6e793d7 61885ca 6e793d7 61885ca 0061e14 7d20cd0 0061e14 5048713 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
from dataclasses import dataclass
from enum import Enum
def fields(raw_class):
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
# These classes are for user facing column names, to avoid having to change them
# all around the code when a modification is needed.
@dataclass
class ColumnContent:
name: str
type: str
displayed_by_default: bool
hidden: bool = False
never_hidden: bool = False
@dataclass(frozen=True)
class AutoEvalColumn:
system = ColumnContent("System Name", "markdown", True, never_hidden=True)
organization = ColumnContent("Organization", "str", True, never_hidden=True)
success_rate_overall = ColumnContent("Overall Success (%)", "number", True)
success_rate_tier1 = ColumnContent("Deeper Tier Success (%)", "number", True)
success_rate_tier2 = ColumnContent("Deepest Tier Success (%)", "number", True)
submitted_on = ColumnContent("Submitted On", "datetime", True)
# For the queue columns in the submission tab
@dataclass(frozen=True)
class EvalQueueColumn: # Queue column
model = ColumnContent("model", "markdown", True)
revision = ColumnContent("revision", "str", True)
private = ColumnContent("private", "bool", True)
precision = ColumnContent("precision", "str", True)
weight_type = ColumnContent("weight_type", "str", True)
status = ColumnContent("status", "str", True)
# All the model information that we might need
@dataclass
class ModelDetails:
name: str
display_name: str = ""
class ModelType(Enum):
LLM = ModelDetails(name="LLM")
AgenticLLM = ModelDetails(name="AgenticLLM")
Other = ModelDetails(name="Other")
def to_str(self):
return self.value.name
@staticmethod
def from_str(type: str):
if type == "AgenticLLM":
return ModelType.AgenticLLM
if type == "LLM":
return ModelType.LLM
return ModelType.Other
class Precision(Enum):
float16 = ModelDetails("float16")
bfloat16 = ModelDetails("bfloat16")
Unknown = ModelDetails("?")
COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
EVAL_COLS = [c.name for c in fields(EvalQueueColumn)]
EVAL_TYPES = [c.type for c in fields(EvalQueueColumn)]
|