Abhaykoul commited on
Commit
592dcd6
·
verified ·
1 Parent(s): 198b1d8

Fix dataclass import compatibility in client script

Browse files
Files changed (1) hide show
  1. vortex_embed_v4_5.py +44 -16
vortex_embed_v4_5.py CHANGED
@@ -19,28 +19,56 @@ except ImportError:
19
  Tokenizer = None
20
 
21
 
22
- @dataclass
23
  class VortexEmbedConfig:
24
- vocab_size: int = 29528
25
- embedding_dim: int = 256
26
- block_size: int = 32
27
- num_blocks: int = 8
28
- model_type: str = "vortex-embed"
29
- architectures: List[str] = field(default_factory=lambda: ["VortexEmbedV4_5"])
30
- quantization: str = "lf4"
31
- bits: int = 4
32
- sif_a: float = 0.05
33
- sif_pc: float = 1.0
34
- pc_k: int = 1
35
- matryoshka_dim: Optional[int] = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  @classmethod
38
  def from_dict(cls, d: dict) -> "VortexEmbedConfig":
39
- kw = {k: d[k] for k in d if k in cls.__dataclass_fields__}
40
- return cls(**kw)
41
 
42
  def to_dict(self) -> dict:
43
- return {k: getattr(self, k) for k in self.__dataclass_fields__}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
 
46
  class VortexEmbedV4_5:
 
19
  Tokenizer = None
20
 
21
 
 
22
  class VortexEmbedConfig:
23
+ def __init__(
24
+ self,
25
+ vocab_size: int = 29528,
26
+ embedding_dim: int = 256,
27
+ block_size: int = 32,
28
+ num_blocks: int = 8,
29
+ model_type: str = "vortex-embed",
30
+ architectures: Optional[List[str]] = None,
31
+ quantization: str = "lf4",
32
+ bits: int = 4,
33
+ sif_a: float = 0.05,
34
+ sif_pc: float = 1.0,
35
+ pc_k: int = 1,
36
+ matryoshka_dim: Optional[int] = None,
37
+ **kwargs,
38
+ ):
39
+ self.vocab_size = vocab_size
40
+ self.embedding_dim = embedding_dim
41
+ self.block_size = block_size
42
+ self.num_blocks = num_blocks
43
+ self.model_type = model_type
44
+ self.architectures = architectures or ["VortexEmbedV4_5"]
45
+ self.quantization = quantization
46
+ self.bits = bits
47
+ self.sif_a = sif_a
48
+ self.sif_pc = sif_pc
49
+ self.pc_k = pc_k
50
+ self.matryoshka_dim = matryoshka_dim
51
 
52
  @classmethod
53
  def from_dict(cls, d: dict) -> "VortexEmbedConfig":
54
+ return cls(**d)
 
55
 
56
  def to_dict(self) -> dict:
57
+ return {
58
+ "vocab_size": self.vocab_size,
59
+ "embedding_dim": self.embedding_dim,
60
+ "block_size": self.block_size,
61
+ "num_blocks": self.num_blocks,
62
+ "model_type": self.model_type,
63
+ "architectures": self.architectures,
64
+ "quantization": self.quantization,
65
+ "bits": self.bits,
66
+ "sif_a": self.sif_a,
67
+ "sif_pc": self.sif_pc,
68
+ "pc_k": self.pc_k,
69
+ "matryoshka_dim": self.matryoshka_dim,
70
+ }
71
+
72
 
73
 
74
  class VortexEmbedV4_5: