File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments