@@ -12,35 +12,50 @@ const DEST_COMMON_SOURCE = `
12
12
13
13
import type { ModelBase, GGUFGeneralInfo } from "./types";
14
14
15
- type Attention<TArchitecture extends string> = Record<
16
- | \`\${TArchitecture}.attention.head_count\`
17
- | \`\${TArchitecture}.attention.head_count_kv\`
18
- | \`\${TArchitecture}.attention.layer_norm_epsilon\`
19
- | \`\${TArchitecture}.attention.layer_norm_rms_epsilon\`
20
- | \`\${TArchitecture}.attention.alibi_bias_max\`
21
- | \`\${TArchitecture}.attention.clip_kqv\`
22
- | \`\${TArchitecture}.attention.use_norm\`,
15
+ type LLMBase<TArchitecture extends string> = Partial<Record<
16
+ \`\${TArchitecture}.vocab_size\`
17
+ | \`\${TArchitecture}.use_parallel_residual\`
18
+ | \`\${TArchitecture}.tensor_data_layout\`,
23
19
number
24
- >;
20
+ >> ;
25
21
26
- type Rope<TArchitecture extends LLMArchitecture> = Record<
27
- | \`\${TArchitecture}.rope.dimension_count\`
28
- | \`\${TArchitecture}.rope.freq_base\`
29
- | \`\${TArchitecture}.rope.scale\`
30
- | \`\${TArchitecture}.rope.scale_linear\`,
22
+ type Attention<TArchitecture extends string> = Record<
23
+ \`\${TArchitecture}.attention.head_count\`,
31
24
number
25
+ > & Partial<Record<
26
+ \`\${TArchitecture}.attention.head_count_kv\`
27
+ | \`\${TArchitecture}.attention.key_length\`
28
+ | \`\${TArchitecture}.attention.value_length\`,
29
+ number
30
+ >>;
31
+
32
+ type RopeScalingType = "none" | "linear" | "yarn";
33
+ type Rope<TArchitecture extends LLMArchitecture> = Partial<
34
+ Record<
35
+ \`\${TArchitecture}.rope.dimension_count\`
36
+ | \`\${TArchitecture}.rope.freq_base\`
37
+ | \`\${TArchitecture}.rope.scale_linear\`
38
+ | \`\${TArchitecture}.rope.scaling.factor\`
39
+ | \`\${TArchitecture}.rope.scaling.original_context_length\`,
40
+ number
41
+ >
42
+ & Record<\`\${TArchitecture}.rope.scaling.type\`, RopeScalingType>
43
+ & Record<\`\${TArchitecture}.rope.finetuned\`, boolean>
32
44
>;
33
45
34
- type MOE<TArchitecture extends LLMArchitecture> = Record<
35
- | \`\${TArchitecture}.expert_count\`
36
- | \`\${TArchitecture}.expert_used_count\`,
37
- number
46
+ type MOE<TArchitecture extends LLMArchitecture> = Partial<
47
+ Record<
48
+ \`\${TArchitecture}.expert_count\`
49
+ | \`\${TArchitecture}.expert_used_count\`,
50
+ number
51
+ >
38
52
>;
39
53
40
54
export type TransformerLLMArchitecture = LLMArchitecture; // type alias
41
55
export type TransformerLLMBase<TArchitecture extends LLMArchitecture> = GGUFGeneralInfo<TArchitecture>
56
+ & LLMBase<TArchitecture>
42
57
& ModelBase<TArchitecture>
43
- & Partial< MOE<TArchitecture> >
58
+ & MOE<TArchitecture>
44
59
& Attention<TArchitecture>
45
60
& Rope<TArchitecture>;
46
61
0 commit comments