Skip to content

Commit ee404fd

Browse files
committed
Model description file
1 parent 4b7e907 commit ee404fd

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from dataclasses import dataclass, field
2+
from typing import Optional, List, Dict
3+
4+
5+
@dataclass(frozen=True)
6+
class ModelSource:
7+
hf: Optional[str] = None
8+
url: Optional[str] = None
9+
10+
def __post_init__(self):
11+
if self.hf is None and self.url is None:
12+
raise ValueError(
13+
f"At least one source should be set, current sources: hf={self.hf}, url={self.url}"
14+
)
15+
16+
17+
@dataclass(frozen=True)
18+
class ModelDescription:
19+
model: str
20+
sources: ModelSource
21+
model_file: str
22+
dim: Optional[int]
23+
24+
description: str
25+
license: str
26+
size_in_GB: float
27+
additional_files: List[str] = field(default_factory=list)
28+
tasks: Dict[str, int] = field(default_factory=dict)
29+
30+
31+
@dataclass(frozen=True, kw_only=True)
32+
class SparseModelDescription(ModelDescription):
33+
vocab_size: int
34+
requires_idf: Optional[bool] = None
35+
# For sparse models, override dim to always be None.
36+
dim: Optional[int] = None
37+
38+
39+
@dataclass(frozen=True)
40+
class CustomModelDescription(ModelDescription):
41+
description: str = ""
42+
license: str = ""
43+
size_in_GB: Optional[float] = None

0 commit comments

Comments
 (0)