hoborific commited on
Commit
435526b
·
verified ·
1 Parent(s): eda1abb

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
LICENSE.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ By using this model, you agree:
2
+
3
+ Apache-2.0 (matching the Gemma 4 base). Constituent training datasets carry their own licenses (see the Athanorlite-DPO card on the nbeerbower/Gemma4-Gutenberg-31 model).
4
+ To accept full responsibility for all generated content
5
+ That you're at least 18+ years old
6
+ That the architects bear no responsibility for your corruption
7
+ This model is intended for personal usage only. Using this model for profit and/or for commerical use is not allowed to the extent legally permitted by the original license.
README.md ADDED
@@ -0,0 +1,460 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model:
3
+ - nbeerbower/Gemma4-Gutenberg-31B
4
+ base_model_relation: finetune
5
+ tags:
6
+ - gemma-4
7
+ - roleplay
8
+ - conversational
9
+ - instruct
10
+ - apache-2.0
11
+ - nsfw
12
+ - adult-content
13
+ - unaligned
14
+ - mature
15
+ - explicit
16
+ - erp
17
+ license: apache-2.0
18
+ ---
19
+ <style>
20
+ @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700;900&family=Raleway:wght@300;400;600;700&family=JetBrains+Mono:wght@400;700&display=swap');
21
+
22
+ /* Base Reset & Layout */
23
+ .mc-wrap{background:#08060b;color:#e0dce4;font-family:'Raleway',sans-serif;max-width:920px;margin:0 auto;padding:24px;border-radius:16px;box-sizing:border-box;position:relative;overflow:hidden;
24
+ background-image:
25
+ radial-gradient(ellipse at 20% 50%, rgba(120,20,50,0.08) 0%, transparent 50%),
26
+ radial-gradient(ellipse at 80% 20%, rgba(80,10,60,0.06) 0%, transparent 50%),
27
+ radial-gradient(ellipse at 50% 80%, rgba(140,30,70,0.05) 0%, transparent 50%)}
28
+ .mc-wrap::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ff2a6d' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;pointer-events:none;z-index:0;opacity:0.5}
29
+ .mc-wrap *{box-sizing:border-box;position:relative;z-index:1}
30
+ .mc-wrap h1,.mc-wrap h2,.mc-wrap h3,.mc-wrap h4{color:#ffffff;border:none;font-family:'Cinzel',serif}
31
+ .mc-wrap p{color:#c8c0cc;font-family:'Raleway',sans-serif;line-height:1.7}
32
+ .mc-wrap strong{color:#ff2a6d;font-weight:600}
33
+ .mc-wrap a{color:#ff6b9d;text-decoration:none;transition:all 0.3s;border-bottom:1px solid transparent}
34
+ .mc-wrap a:hover{color:#ff2a6d;border-bottom-color:#ff2a6d}
35
+ .mc-wrap ul{list-style:none;padding-left:0;margin:0}
36
+ .mc-wrap li{color:#c8c0cc;margin-bottom:10px;padding-left:0;line-height:1.7}
37
+
38
+ /* Code Blocks */
39
+ .mc-wrap code{background:rgba(255,42,109,0.08);color:#ff6b9d;padding:3px 10px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:.85em;border:1px solid rgba(255,42,109,.2)}
40
+
41
+ /* Ornamental Dividers */
42
+ .mc-ornament{text-align:center;margin:28px 0;position:relative;z-index:1}
43
+ .mc-ornament::before{content:'';position:absolute;top:50%;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,42,109,0.3),rgba(200,150,180,0.4),rgba(255,42,109,0.3),transparent)}
44
+ .mc-ornament span{background:#08060b;padding:0 20px;color:#ff2a6d;font-size:1.2em;position:relative;z-index:2}
45
+
46
+ /* Header Section */
47
+ .mc-hdr{text-align:center;padding:50px 40px;background:linear-gradient(180deg,#0d0a10 0%,#12090f 50%,#0d0a10 100%);border:1px solid rgba(255,42,109,.25);border-radius:24px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 0 40px rgba(255,42,109,0.08),inset 0 0 60px rgba(0,0,0,0.3)}
48
+ .mc-hdr::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#ff2a6d,#d90429,#c7728a,#d90429,#ff2a6d,transparent);animation:shimmer 4s ease infinite}
49
+ .mc-hdr::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#8d0801,#d90429,#ff2a6d,#d90429,#8d0801,transparent);animation:shimmer 4s ease infinite reverse}
50
+ .mc-name{font-family:'Cinzel',serif;font-size:2.8em;font-weight:900;margin:0;letter-spacing:.08em;background:linear-gradient(135deg,#ff2a6d 0%,#ff6b9d 25%,#c7728a 50%,#ff2a6d 75%,#d90429 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3;text-shadow:0 0 30px rgba(255,42,109,0.4);background-size:200% 200%;animation:text-shimmer 6s ease infinite}
51
+ .mc-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(255,42,109,.12),rgba(140,8,1,.15));border:1px solid rgba(255,42,109,.45);padding:10px 24px;border-radius:100px;font-family:'JetBrains Mono',monospace;font-size:.85em;font-weight:700;color:#ff2a6d;margin-top:22px;box-shadow:0 0 20px rgba(255,42,109,0.15);animation:pulse-badge 3s infinite;letter-spacing:.05em}
52
+ .mc-sub{color:#9a8fa0;font-size:1.15em;margin-top:18px;font-weight:300;font-style:italic;font-family:'Raleway',sans-serif;letter-spacing:.04em}
53
+
54
+ /* Warnings & Alerts */
55
+ .mc-warn{padding:18px 28px;border-radius:12px;margin:24px 0;font-weight:600;font-size:.88em;line-height:1.7;background:linear-gradient(135deg,rgba(217,4,41,.08),rgba(140,8,1,.06));border:1px solid rgba(217,4,41,.35);color:#ff4d6d;text-align:center;box-shadow:0 0 20px rgba(217,4,41,0.06);position:relative;overflow:hidden}
56
+ .mc-warn::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d90429,#ff4d6d,#d90429,transparent)}
57
+
58
+ /* Sections */
59
+ .mc-sec{margin:20px 0;padding:28px 32px;background:linear-gradient(180deg,#0c0a0f,#0a0810);border:1px solid rgba(255,42,109,.15);border-radius:16px;position:relative;overflow:hidden;transition:all 0.4s ease}
60
+ .mc-sec:hover{border-color:rgba(255,42,109,.4);box-shadow:0 0 30px rgba(255,42,109,0.06)}
61
+ .mc-sec::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#ff2a6d,#d90429,#c7728a,#8d0801);opacity:.9}
62
+ .mc-sec::after{content:'';position:absolute;top:0;right:0;bottom:0;width:60px;background:linear-gradient(90deg,transparent,rgba(255,42,109,0.02));pointer-events:none}
63
+ .mc-sec-title{font-family:'Cinzel',serif;font-size:1.4em;font-weight:700;margin:0 0 18px 0;color:#ffffff;display:flex;align-items:center;gap:12px;letter-spacing:.04em}
64
+
65
+ /* Grids & Cards */
66
+ .mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
67
+ .mc-card{background:linear-gradient(145deg,#0f0c14,#0c0a10);padding:22px;border-radius:14px;border:1px solid rgba(255,42,109,.12);transition:all 0.4s ease;position:relative;overflow:hidden}
68
+ .mc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,42,109,0.3),transparent);opacity:0;transition:opacity 0.4s}
69
+ .mc-card:hover{border-color:rgba(255,42,109,.4);box-shadow:0 0 25px rgba(255,42,109,0.08);transform:translateY(-3px)}
70
+ .mc-card:hover::before{opacity:1}
71
+ .mc-card h4{margin:0 0 12px 0;color:#ff2a6d;font-family:'Cinzel',serif;font-weight:700;font-size:1em;letter-spacing:.03em}
72
+ .mc-card p{color:#b8b0c0;font-size:.88em;margin:0;line-height:1.7}
73
+ .mc-val{font-family:'Cinzel',serif;font-size:2.6em;font-weight:900;background:linear-gradient(135deg,#ff2a6d,#d90429,#c7728a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:10px 0;line-height:1}
74
+ .mc-lbl{color:#8a7f90;font-size:.82em;line-height:1.6;margin:0}
75
+
76
+ /* Tables */
77
+ .mc-tbl{width:100%;border-collapse:separate;border-spacing:0;margin-top:18px;font-family:'Raleway',sans-serif;border-radius:14px;border:1px solid rgba(255,42,109,.15);overflow:hidden}
78
+ .mc-tbl th{background:linear-gradient(135deg,rgba(255,42,109,.1),rgba(140,8,1,.08));color:#ff2a6d;padding:14px 22px;text-align:left;font-weight:700;font-size:.72em;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,42,109,.2);font-family:'Cinzel',serif}
79
+ .mc-tbl td{padding:14px 22px;border-bottom:1px solid rgba(255,42,109,.08);color:#c8c0cc;font-size:.86em;background:#0c0a10;font-family:'Raleway',sans-serif}
80
+ .mc-tbl tr:last-child td{border-bottom:none}
81
+ .mc-tbl tr:hover td{background:rgba(255,42,109,0.03)}
82
+ .mc-tbl td strong{color:#d90429}
83
+
84
+ /* Buttons & Links */
85
+ .mc-qlinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0}
86
+ .mc-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff2a6d,#d90429);color:#0a0a0a;padding:14px 28px;border-radius:10px;text-decoration:none;border:none;margin:14px 0 0 0;font-weight:700;font-size:.88em;letter-spacing:.06em;text-transform:uppercase;font-family:'Cinzel',serif;box-shadow:0 4px 20px rgba(255,42,109,.3);transition:all 0.4s ease;position:relative;overflow:hidden}
87
+ .mc-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:0.6s}
88
+ .mc-btn:hover::before{left:100%}
89
+ .mc-btn:hover{box-shadow:0 0 35px rgba(255,42,109,0.5);transform:translateY(-3px);filter:brightness(1.1)}
90
+ .mc-ava{width:48px;height:48px;border-radius:50%;margin-right:16px;object-fit:cover;border:2px solid rgba(255,42,109,.6);box-shadow:0 0 15px rgba(255,42,109,0.2);transition:all 0.3s}
91
+ .mc-ava:hover{border-color:#ff2a6d;box-shadow:0 0 25px rgba(255,42,109,0.4)}
92
+ .mc-disclaimer{border-left:3px solid #c7728a;padding:16px 24px;background:linear-gradient(135deg,rgba(200,114,138,.06),rgba(255,153,170,.04));border-radius:0 14px 14px 0;color:#ddb8c8;font-size:.88em;margin:18px 0;line-height:1.7}
93
+
94
+ /* FLASHY TAGS & KINKS SECTION */
95
+ .mc-tag-container{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;justify-content:center}
96
+ .mc-tag{display:inline-flex;align-items:center;padding:8px 18px;border-radius:100px;font-size:.75em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;border:1px solid;transition:all 0.4s ease;position:relative;overflow:hidden;backdrop-filter:blur(4px)}
97
+ .mc-tag::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.12),transparent);transform:translateX(-100%);transition:0.6s}
98
+ .mc-tag:hover::before{transform:translateX(100%)}
99
+ .mc-tag:hover{transform:scale(1.08);box-shadow:0 0 20px currentColor}
100
+
101
+ .t1{background:rgba(255,42,109,.12);color:#ff2a6d;border-color:rgba(255,42,109,.5);box-shadow:0 0 12px rgba(255,42,109,0.15)}
102
+ .t2{background:rgba(217,4,41,.12);color:#d90429;border-color:rgba(217,4,41,.5);box-shadow:0 0 12px rgba(217,4,41,0.15)}
103
+ .t3{background:rgba(141,8,1,.12);color:#c75050;border-color:rgba(141,8,1,.5);box-shadow:0 0 12px rgba(141,8,1,0.15)}
104
+ .t4{background:rgba(200,114,138,.12);color:#c7728a;border-color:rgba(200,114,138,.5);box-shadow:0 0 12px rgba(200,114,138,0.15)}
105
+ .t-nsfw{background:rgba(255,0,85,.15);color:#ff0055;border-color:rgba(255,0,85,.6);box-shadow:0 0 18px rgba(255,0,85,0.3);animation:pulse-red 2.5s infinite}
106
+
107
+ /* Special Kink Highlight Box */
108
+ .kink-highlight{background:linear-gradient(145deg, #12081a, #0a0610, #0f0a14);border:1px solid rgba(255,42,109,.3);border-radius:20px;padding:30px;margin:24px 0;position:relative;overflow:hidden}
109
+ .kink-highlight::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:20px;background:linear-gradient(135deg,rgba(255,42,109,0.2),transparent 40%,transparent 60%,rgba(200,114,138,0.15));z-index:0;pointer-events:none}
110
+ .kink-highlight::after{content:'';position:absolute;top:-50%;right:-30%;width:80%;height:100%;background:radial-gradient(circle,rgba(255,42,109,0.08) 0%,transparent 70%);pointer-events:none;z-index:0}
111
+ .kink-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:22px}
112
+ .kink-stat{background:linear-gradient(145deg,rgba(255,42,109,0.04),rgba(200,114,138,0.02));border:1px solid rgba(255,42,109,.15);padding:20px;border-radius:14px;text-align:center;transition:all 0.4s ease;position:relative;overflow:hidden}
113
+ .kink-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,42,109,0.4),transparent);opacity:0;transition:opacity 0.4s}
114
+ .kink-stat:hover{background:linear-gradient(145deg,rgba(255,42,109,0.08),rgba(200,114,138,0.04));border-color:rgba(255,42,109,.4);box-shadow:0 0 25px rgba(255,42,109,0.1);transform:translateY(-3px)}
115
+ .kink-stat:hover::before{opacity:1}
116
+ .kink-stat-val{font-family:'Cinzel',serif;font-size:1.8em;font-weight:900;color:#ff2a6d;display:block;margin-bottom:6px;text-shadow:0 0 20px rgba(255,42,109,0.3)}
117
+ .kink-stat-label{font-size:0.72em;color:#8a7f90;text-transform:uppercase;letter-spacing:.12em;font-family:'JetBrains Mono',monospace}
118
+
119
+ /* Video */
120
+ .mc-video-wrap{position:relative;margin:24px 0;border-radius:18px;overflow:hidden;border:2px solid rgba(255,42,109,.4);box-shadow:0 0 40px rgba(255,42,109,0.12)}
121
+ .mc-video-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#ff2a6d,#d90429);color:#0a0a0a;font-family:'Cinzel',serif;font-weight:900;padding:6px 16px;font-size:.72em;border-radius:6px;z-index:2;border:1px solid rgba(255,42,109,.5);box-shadow:0 0 15px rgba(0,0,0,0.6);letter-spacing:.08em;text-transform:uppercase}
122
+
123
+ /* Details/Summary */
124
+ details summary{cursor:pointer;font-family:'Cinzel',serif;font-size:1.3em;font-weight:700;color:#ffffff;padding:22px 32px;background:linear-gradient(135deg,#110d16,#0c0a10);border:1px solid rgba(255,42,109,.15);border-radius:16px;position:relative;list-style:none;display:flex;align-items:center;gap:12px;transition:all 0.4s ease;letter-spacing:.03em}
125
+ details summary:hover{background:linear-gradient(135deg,#16101c,#0e0b14);border-color:rgba(255,42,109,.35);box-shadow:0 0 25px rgba(255,42,109,0.06)}
126
+ details summary::-webkit-details-marker{display:none}
127
+ details summary::before{content:'✦';font-size:.7em;transition:all .3s;color:#ff2a6d;margin-right:4px}
128
+ details[open] summary::before{content:'✦';transform:rotate(180deg);filter:drop-shadow(0 0 6px rgba(255,42,109,0.6))}
129
+ details summary::after{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#ff2a6d,#d90429,#c7728a);opacity:.8;border-radius:16px 0 0 16px}
130
+ details .mc-sec{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-top:none}
131
+
132
+ /* Sampler & Config */
133
+ .sampler-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
134
+ .param-box{background:linear-gradient(145deg,rgba(255,42,109,0.04),rgba(200,114,138,0.02));border:1px solid rgba(255,42,109,.15);padding:16px;border-radius:10px;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden}
135
+ .param-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,42,109,0.3),transparent);opacity:0;transition:opacity 0.3s}
136
+ .param-box:hover{background:linear-gradient(145deg,rgba(255,42,109,0.1),rgba(200,114,138,0.05));border-color:rgba(255,42,109,.4);box-shadow:0 0 20px rgba(255,42,109,0.12)}
137
+ .param-box:hover::before{opacity:1}
138
+ .param-val{font-family:'Cinzel',serif;font-size:1.6em;font-weight:900;color:#ff2a6d;display:block;margin-bottom:4px;text-shadow:0 0 15px rgba(255,42,109,0.3)}
139
+ .param-label{font-size:0.68em;color:#8a7f90;text-transform:uppercase;letter-spacing:.1em;font-family:'JetBrains Mono',monospace}
140
+ .quant-list{list-style:none;padding:0;margin:16px 0}
141
+ .quant-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,42,109,.1);font-size:.85em;color:#c8c0cc;transition:all 0.2s}
142
+ .quant-item:hover{padding-left:8px;border-bottom-color:rgba(255,42,109,.25)}
143
+ .quant-item:last-child{border-bottom:none}
144
+ .quant-item span:first-child{font-family:'JetBrains Mono',monospace;color:#d90429;font-weight:700}
145
+ .mc-btn-glow{box-shadow:0 0 20px rgba(255,42,109,0.3);transition:all 0.4s ease;width:100%}
146
+ .mc-btn-glow:hover{box-shadow:0 0 40px rgba(255,42,109,0.5);transform:translateY(-3px)}
147
+ .download-icon{margin-right:10px}
148
+
149
+ /* Art Corner Decorations */
150
+ .mc-corner-decor{position:absolute;width:30px;height:30px;opacity:.4;pointer-events:none}
151
+ .mc-corner-decor.tl{top:8px;left:8px;border-top:2px solid #ff2a6d;border-left:2px solid #ff2a6d}
152
+ .mc-corner-decor.tr{top:8px;right:8px;border-top:2px solid #ff2a6d;border-right:2px solid #ff2a6d}
153
+ .mc-corner-decor.bl{bottom:8px;left:8px;border-bottom:2px solid #ff2a6d;border-left:2px solid #ff2a6d}
154
+ .mc-corner-decor.br{bottom:8px;right:8px;border-bottom:2px solid #ff2a6d;border-right:2px solid #ff2a6d}
155
+
156
+ /* Notice Box */
157
+ .mc-notice{padding:22px 28px;border-radius:14px;margin:24px 0;font-size:.92em;line-height:1.7;background:linear-gradient(135deg,rgba(255,180,50,.06),rgba(200,150,50,.04));border:1px solid rgba(255,180,50,.35);color:#e8d4a0;text-align:center;box-shadow:0 0 20px rgba(255,180,50,0.06);position:relative;overflow:hidden}
158
+ .mc-notice::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#ffb432,#ffd700,#ffb432,transparent)}
159
+ .mc-notice strong{color:#ffd700;font-weight:700}
160
+ .mc-notice code{background:rgba(255,180,50,0.12);color:#ffd700;border-color:rgba(255,180,50,.25)}
161
+
162
+ /* Animations */
163
+ @keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
164
+ @keyframes text-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
165
+ @keyframes pulse-badge{0%{box-shadow:0 0 0 0 rgba(255,42,109,0.4)}70%{box-shadow:0 0 0 12px rgba(255,42,109,0)}100%{box-shadow:0 0 0 0 rgba(255,42,109,0)}}
166
+ @keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(255,0,85,0.4)}70%{box-shadow:0 0 0 12px rgba(255,0,85,0)}100%{box-shadow:0 0 0 0 rgba(255,0,85,0)}}
167
+ @keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}100%{transform:translateY(0)}}
168
+
169
+ /* Responsive */
170
+ @media(max-width:640px){.mc-wrap{padding:12px}.mc-name{font-size:1.8em}.mc-grid{grid-template-columns:1fr}.mc-qlinks{grid-template-columns:1fr}.kink-stat-grid{grid-template-columns:1fr 1fr}.mc-hdr{padding:30px 20px}}
171
+ </style>
172
+
173
+ <div class="mc-wrap">
174
+
175
+ <div class="mc-hdr">
176
+ <div class="mc-corner-decor tl"></div>
177
+ <div class="mc-corner-decor tr"></div>
178
+ <div class="mc-corner-decor bl"></div>
179
+ <div class="mc-corner-decor br"></div>
180
+ <h1 class="mc-name">Dark Scarlett 31B</h1>
181
+ <div class="mc-badge">⚡ v2.0</div>
182
+ <p class="mc-sub">Passion ignited. Boundaries dissolved.</p>
183
+ <div style="background:linear-gradient(135deg,rgba(255,42,109,0.06),rgba(200,114,138,0.04));border:1px solid rgba(255,42,109,.2);padding:14px;border-radius:10px;margin-top:20px;font-size:.85em;color:#c7728a">
184
+ <strong>Thinking did not survive</strong> </div>
185
+ </div>
186
+
187
+ <div class="mc-ornament"><span>✦</span></div>
188
+
189
+ <!-- NOTICE: Same as v1.0 but on Gemma4-Gutenberg-31B -->
190
+ <div class="mc-notice">
191
+ <div class="mc-corner-decor tl"></div>
192
+ <div class="mc-corner-decor tr"></div>
193
+ <div class="mc-corner-decor bl"></div>
194
+ <div class="mc-corner-decor br"></div>
195
+ 🔔 <strong>Version Notice:</strong> This model is the <strong>same training data and configuration as v1.0</strong>, now applied to the <strong>Gemma4-Gutenberg-31B</strong> base model. If you liked Dark Scarlett v1.0, this offers the same experience on an improved literary base.
196
+ </div>
197
+
198
+ <!-- FLASHY TAG CLOUD -->
199
+ <div class="mc-tag-container">
200
+ <span class="mc-tag t-nsfw">🔞 NSFW</span>
201
+ <span class="mc-tag t1">ERP</span>
202
+ <span class="mc-tag t2">Uncensored</span>
203
+ <span class="mc-tag t1">Roleplay</span>
204
+ <span class="mc-tag t3">Gemma-4</span>
205
+ <span class="mc-tag t4">Adult</span>
206
+ <span class="mc-tag t2">Unaligned</span>
207
+ </div>
208
+
209
+ <div class="mc-warn">
210
+ ✦ Content Advisory: Mature Themes / Adult Interactions — Intended for mature audiences only. ✦
211
+ </div>
212
+
213
+ <!-- KINK HIGHLIGHT SECTION -->
214
+ <div class="kink-highlight">
215
+ <div class="mc-corner-decor tl"></div>
216
+ <div class="mc-corner-decor tr"></div>
217
+ <div class="mc-corner-decor bl"></div>
218
+ <div class="mc-corner-decor br"></div>
219
+ <h3 style="margin:0 0 12px 0;color:#ff2a6d;font-family:'Cinzel',serif;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:1.1em">✦ Core Capabilities ✦</h3>
220
+ <p style="text-align:center;color:#8a7f90;font-size:.88em;margin:0;font-family:'Raleway',sans-serif">Optimized for immersive adult narrative experiences</p>
221
+ <div class="kink-stat-grid">
222
+ <div class="kink-stat">
223
+ <span class="kink-stat-val">6000+</span>
224
+ <span class="kink-stat-label">Kink Prompts (In Generator)</span>
225
+ </div>
226
+ <div class="kink-stat">
227
+ <span class="kink-stat-val">100%</span>
228
+ <span class="kink-stat-label">Uncensored</span>
229
+ </div>
230
+ <div class="kink-stat">
231
+ <span class="kink-stat-val">M→F</span>
232
+ <span class="kink-stat-label">Perspective</span>
233
+ </div>
234
+ </div>
235
+ </div>
236
+
237
+ <div class="mc-ornament"><span>⟡</span></div>
238
+
239
+ <div class="mc-video-wrap">
240
+ <span class="mc-video-badge">Gemma 4 Based</span>
241
+ <video autoplay loop muted playsinline controls style="width:100%;display:block;border-radius:16px">
242
+ <source src="https://huggingface.co/spaces/ReadyArt/README/resolve/main/Dark-Scarlett.mp4" type="video/mp4">
243
+ </video>
244
+ </div>
245
+
246
+ <div class="mc-ornament"><span>✦</span></div>
247
+
248
+ <details>
249
+ <summary>🌹 What Is Dark Scarlett?</summary>
250
+ <div class="mc-sec">
251
+ <p>Inspired by the <strong>spirit of Melody1437</strong>, though trained on a distinct dataset, <strong>Dark Scarlett-31B</strong> refines the core architecture with specialized scenario prompts to enhance depth and responsiveness. This model focuses on delivering a cohesive narrative experience with a distinct perspective.</p>
252
+ <div style="display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0;flex-wrap:wrap">
253
+ <div style="text-align:center;padding:22px 34px;background:linear-gradient(145deg,#0f0c14,#0c0a10);border-radius:14px;border:1px solid rgba(255,42,109,.15);min-width:150px">
254
+ <div style="font-family:'JetBrains Mono',monospace;font-size:.68em;text-transform:uppercase;letter-spacing:.14em;color:#8a7f90;margin-bottom:10px">Core Inspiration</div>
255
+ <div style="font-family:'Cinzel',serif;font-size:1.2em;font-weight:700;color:#ff2a6d">Melody1437 Spirit</div>
256
+ <div style="font-family:'JetBrains Mono',monospace;font-size:.65em;color:#d90429;margin-top:6px">Distinct Dataset</div>
257
+ </div>
258
+ <div style="font-size:1.8em;color:#d90429;text-shadow:0 0 15px rgba(217,4,41,0.4)">⟡</div>
259
+ <div style="text-align:center;padding:22px 34px;background:linear-gradient(145deg,rgba(255,42,109,.06),rgba(200,114,138,.04));border-radius:14px;border:1px solid rgba(255,42,109,.3);min-width:150px;box-shadow:0 0 25px rgba(255,42,109,.08)">
260
+ <div style="font-family:'JetBrains Mono',monospace;font-size:.68em;text-transform:uppercase;letter-spacing:.14em;color:#ff2a6d;margin-bottom:10px">Result</div>
261
+ <div style="font-family:'Cinzel',serif;font-size:1.4em;font-weight:900;background:linear-gradient(135deg,#ff2a6d,#d90429,#c7728a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text">Dark Scarlett</div>
262
+ </div>
263
+ </div>
264
+ <div class="mc-warn" style="background:linear-gradient(135deg,rgba(200,114,138,.06),rgba(255,153,170,.04));border-color:rgba(200,114,138,.3);color:#ddb8c8">
265
+ ⚠️ <strong>Perspective Note:</strong> Training data strictly follows a Male (User) → Female (AI) perspective for consistent roleplay dynamics.
266
+ </div>
267
+ <ul>
268
+ <li>🧠 <strong>Core Heritage:</strong> Captures the spirit of Melody1437 with diversified scenario prompts</li>
269
+ <li>🎭 <strong>Group Chat Support:</strong> Includes some training for dynamic group chat interactions</li>
270
+ <li>🎯 <strong>Perspective:</strong> Optimized for Male User → Female AI interactions</li>
271
+ <li>📖 <strong>Narrative Flow:</strong> Improved context retention with longer conversation threads in select scenarios</li>
272
+ </ul>
273
+ </div>
274
+ </details>
275
+
276
+ <details>
277
+ <summary>🧬 Synthetic Life Engine</summary>
278
+ <div class="mc-sec">
279
+ <p>Dataset generated using our advanced <strong>Character Engine</strong> and <strong>Emotional Engine</strong>, creating genuine life and emotional resonance in every interaction.</p>
280
+ <div class="mc-grid">
281
+ <div class="mc-card">
282
+ <h4>🎭 Character Engine</h4>
283
+ <p>Ensures consistent personality traits, speech patterns, and behavioral logic across all contexts. Characters remain true to themselves throughout.</p>
284
+ </div>
285
+ <div class="mc-card">
286
+ <h4>💓 Emotional Engine</h4>
287
+ <p>Injects dynamic emotional states into responses, creating depth and realistic reactions that breathe life into every exchange.</p>
288
+ </div>
289
+ <div class="mc-card">
290
+ <h4>✨ Quality Refinement</h4>
291
+ <p>Automated detection and rewriting of repetitive phrases ensures fresh, high-quality dialogue in every turn.</p>
292
+ </div>
293
+ <div class="mc-card">
294
+ <h4>💬 Dialogue Integrity</h4>
295
+ <p>Advanced quote normalization ensures balanced dialogue markers, preventing formatting errors and maintaining immersion.</p>
296
+ </div>
297
+ </div>
298
+ </div>
299
+ </details>
300
+
301
+ <details>
302
+ <summary>🧠 Training Details & Parameters</summary>
303
+ <div class="mc-sec">
304
+ <p>Fine-tuned using <strong>LoRA (Low-Rank Adaptation)</strong> for efficient and targeted weight adjustment, preserving the base model's capabilities while imprinting new behavioral patterns.</p>
305
+ <div class="mc-grid">
306
+ <div class="mc-card" style="text-align:center">
307
+ <h4>🔢 Epochs</h4>
308
+ <div class="mc-val">1</div>
309
+ <p class="mc-lbl">Full passes through the training dataset for thorough learning</p>
310
+ </div>
311
+ <div class="mc-card" style="text-align:center">
312
+ <h4>📐 LoRA Rank</h4>
313
+ <div class="mc-val">32</div>
314
+ <p class="mc-lbl">Optimized rank for balanced adaptation and efficiency</p>
315
+ </div>
316
+ </div>
317
+ <table class="mc-tbl">
318
+ <thead><tr><th>Parameter</th><th>Value</th></tr></thead>
319
+ <tbody>
320
+ <tr><td>Training Method</td><td><strong>LoRA (Low-Rank Adaptation)</strong></td></tr>
321
+ <tr><td>LoRA Rank (r)</td><td><strong>32</strong></td></tr>
322
+ <tr><td>Epochs</td><td><strong>1</strong></td></tr>
323
+ <tr><td>Trained Layers</td><td><strong>Text layers only</strong></td></tr>
324
+ <tr><td>Feature</td><td><strong>Group Chat Support</strong></td></tr>
325
+ </tbody>
326
+ </table>
327
+ <ul style="margin-top:18px">
328
+ <li>🎯 <strong>Method:</strong> LoRA fine-tuning for parameter-efficient adaptation, preserving base knowledge while imprinting new behaviors</li>
329
+ <li>⚡ <strong>Efficiency:</strong> Only a fraction of parameters updated, keeping the model lean and responsive</li>
330
+ <li>🎭 <strong>Result:</strong> Maintains coherence while exhibiting the desired personality traits and interaction style</li>
331
+ </ul>
332
+ </div>
333
+ </details>
334
+
335
+ <details>
336
+ <summary>🔮 Training Process</summary>
337
+ <div class="mc-sec">
338
+ <p>Model weights subjected to <strong>iterative refinement</strong> during data creation. Each conversation underwent multiple checks for stability and alignment.</p>
339
+ <ul>
340
+ <li>🔄 <strong>Multi-Turn Generation:</strong> Conversations built turn-by-turn for natural context flow</li>
341
+ <li>🛡️ <strong>Refusal Filtering:</strong> Automated systems detected and removed unwanted refusals</li>
342
+ <li>🧹 <strong>Slop Cleaning:</strong> Undesirable phrases identified and rewritten by dedicated assistant models</li>
343
+ <li>🎪 <strong>Group Chat Training:</strong> Includes some training data focused on multi-user group dynamics</li>
344
+ </ul>
345
+ </div>
346
+ </details>
347
+
348
+ <details>
349
+ <summary>📚 Dataset Overview</summary>
350
+ <div class="mc-sec">
351
+ <p>Model trained on a <strong>specialized adult-oriented roleplay dataset</strong> with diverse scenarios and emotional contexts, inspired by the spirit of Melody1437, though distinct in composition.</p>
352
+ <ul>
353
+ <li>🔞 <strong>Content Rating:</strong> Strictly 18+ (Adults Only)</li>
354
+ <li>📊 <strong>Dataset Size:</strong> Currently contains 12,211 specialized prompts.</li>
355
+ <li>📝 <strong>Conversation Depth:</strong> Portions include extended conversations for enhanced roleplay continuity.</li>
356
+ <li>🎭 <strong>Focus:</strong> Mature themes, immersive roleplay, uncensored dialogue</li>
357
+ <li>👥 <strong>Perspective:</strong> Male (User) → Female (AI)</li>
358
+ <li>🧹 <strong>Formatting:</strong> Removed Em dashes, asterisks, and markdown formatting from the dataset for cleaner output.</li>
359
+ </ul>
360
+ </div>
361
+ </details>
362
+
363
+ <details>
364
+ <summary>📜 Version Notes</summary>
365
+ <div class="mc-sec">
366
+ <ul>
367
+ <li>⚠️ <strong>Content Warning:</strong> This model can generate mature content. Use responsibly.</li>
368
+ <li>📉 <strong>Data Limitations:</strong> Trained on a curated dataset (12,211 prompts); performance may vary.</li>
369
+ <li>🧹 <strong>Clean Output:</strong> Reasoning tags, Em dashes, asterisks, and markdown formatting stripped for cleaner roleplay</li>
370
+ <li>🔀 <strong>Core Identity:</strong> Trained on the spirit of Melody1437, but utilizes a unique dataset</li>
371
+ <li>🎪 <strong>Feature:</strong> Includes some training for group chat scenarios</li>
372
+ <li>🔄 <strong>v2.0 Change:</strong> Same training data and configuration as v1.0, now applied to <strong>Gemma4-Gutenberg-31B</strong> as the base model for enhanced literary quality</li>
373
+ </ul>
374
+ </div>
375
+ </details>
376
+
377
+ <details>
378
+ <summary>⚙️ Configuration</summary>
379
+ <div class="mc-sec">
380
+ <div class="mc-qlinks">
381
+ <!-- Sampler Settings Box -->
382
+ <div class="mc-card">
383
+ <h4>🎛️ Sampler Settings</h4>
384
+ <p style="margin-bottom:12px;font-size:.78em;color:#8a7f90">Recommended parameters for optimal output</p>
385
+ <div class="sampler-grid">
386
+ <div class="param-box">
387
+ <span class="param-val">0.92</span>
388
+ <span class="param-label">Top-P</span>
389
+ </div>
390
+ <div class="param-box">
391
+ <span class="param-val">1.0</span>
392
+ <span class="param-label">Temperature</span>
393
+ </div>
394
+ <div class="param-box">
395
+ <span class="param-val">0</span>
396
+ <span class="param-label">Freq Pen</span>
397
+ </div>
398
+ <div class="param-box">
399
+ <span class="param-val">0</span>
400
+ <span class="param-label">Presence Pen</span>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <!-- GGUF Download Box -->
405
+ <div class="mc-card">
406
+ <h4>📦 GGUF Quantizations</h4>
407
+ <p style="font-size:.78em;color:#8a7f90">Available formats for local inference</p>
408
+ <ul class="quant-list">
409
+ <li class="quant-item"><span>Q4_K_M</span><span>Decent Quality</span></li>
410
+ <li class="quant-item"><span>Q5_K_M</span><span>Recommended</span></li>
411
+ <li class="quant-item"><span>Q6_K</span><span>High Quality</span></li>
412
+ <li class="quant-item"><span>Q8_0</span><span>Near Lossless</span></li>
413
+ </ul>
414
+ <a href="https://huggingface.co/ReadyArt/Dark-Scarlett-v2.0-31B-GGUF" class="mc-btn mc-btn-glow">
415
+ <span class="download-icon">⬇</span> View Repository
416
+ </a>
417
+ </div>
418
+ </div>
419
+ </div>
420
+ </details>
421
+
422
+ <details>
423
+ <summary>💖 Credits</summary>
424
+ <div class="mc-sec">
425
+ <ul>
426
+ <li style="display:flex;align-items:center;margin-bottom:14px;padding:18px 22px;background:linear-gradient(145deg,#0f0c14,#0c0a10);border:1px solid rgba(255,42,109,.12);border-radius:14px;transition:all 0.3s">
427
+ <img src="https://huggingface.co/avatars/55f24699e05af4295a9d16ddecd81f8a.svg" alt="GECFDO" class="mc-ava">
428
+ <span><strong>GECFDO</strong> — Dataset Generation</span>
429
+ </li>
430
+ <li style="display:flex;align-items:center;margin-bottom:14px;padding:18px 22px;background:linear-gradient(145deg,#0f0c14,#0c0a10);border:1px solid rgba(255,42,109,.12);border-radius:14px;transition:all 0.3s">
431
+ <img src="https://cdn-avatars.huggingface.co/v1/production/uploads/6759e155bc947d6070775cb9/FW3jKJ-t8iH9MPGeWzyX5.png" alt="FrenzyBiscuit" class="mc-ava">
432
+ <span><strong>FrenzyBiscuit</strong> — Fine-Tuning & Dataset Creation</span>
433
+ </li>
434
+ </ul>
435
+ </div>
436
+ </details>
437
+
438
+ <div class="mc-ornament"><span>⟡</span></div>
439
+
440
+ <div class="mc-sec">
441
+ <h2 class="mc-sec-title">🔖 License & Usage</h2>
442
+ <div class="mc-disclaimer">
443
+ <strong>⚠️ Usage Agreement:</strong> By using this model, you accept all terms and conditions.
444
+ </div>
445
+ <ul>
446
+ <li>🛡️ You accept <strong>full responsibility</strong> for all outputs generated</li>
447
+ <li>🔞 You confirm you are at least <strong>18 years old</strong></li>
448
+ <li>🌍 Creators bear <strong>no responsibility</strong> for how the model is used</li>
449
+ <li>🏡 For <strong>personal use only</strong> (non-profit/non-commercial) to the extent legally allowed</li>
450
+ <li>Apache-2.0 (matching the Gemma 4 base). Constituent training datasets carry their own licenses (see the Athanorlite-DPO card on the nbeerbower/Gemma4-Gutenberg-31 model).</li>
451
+ </ul>
452
+ <div class="mc-tag-container" style="justify-content:flex-start;margin-top:22px">
453
+ <span class="mc-tag t1">Apache 2.0</span>
454
+ <span class="mc-tag t2">Personal Use</span>
455
+ <span class="mc-tag t-nsfw">18+ Content</span>
456
+ <span class="mc-tag t4">NSFW</span>
457
+ </div>
458
+ </div>
459
+
460
+ </div>
chat_template.jinja ADDED
@@ -0,0 +1,390 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {#
2
+ Template: Google Gemma 4 Canonical Chat Template
3
+ Author: Google Gemma Engineering Team
4
+ Published: 2026-07-09
5
+ Context: Fixed tool-calling loops, turn closures, and thinking content-ordering.
6
+ #}
7
+ {%- macro format_parameters(properties, required, filter_keys=false) -%}
8
+ {%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}
9
+ {%- set ns = namespace(found_first=false) -%}
10
+ {%- for key, value in properties | dictsort -%}
11
+ {%- set add_comma = false -%}
12
+ {%- if not filter_keys or key not in standard_keys -%}
13
+ {%- if ns.found_first %},{% endif -%}
14
+ {%- set ns.found_first = true -%}
15
+ {{ key }}:{
16
+ {%- if value['description'] -%}
17
+ description:<|"|>{{ value['description'] }}<|"|>
18
+ {%- set add_comma = true -%}
19
+ {%- endif -%}
20
+ {%- if value['type'] | upper == 'STRING' -%}
21
+ {%- if value['enum'] -%}
22
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
23
+ enum:{{ format_argument(value['enum']) }}
24
+ {%- endif -%}
25
+ {%- elif value['type'] | upper == 'ARRAY' -%}
26
+ {%- if value['items'] is mapping and value['items'] -%}
27
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
28
+ items:{
29
+ {%- set ns_items = namespace(found_first=false) -%}
30
+ {%- for item_key, item_value in value['items'] | dictsort -%}
31
+ {%- if item_value is not none -%}
32
+ {%- if ns_items.found_first %},{% endif -%}
33
+ {%- set ns_items.found_first = true -%}
34
+ {%- if item_key == 'properties' -%}
35
+ properties:{
36
+ {%- if item_value is mapping -%}
37
+ {{- format_parameters(item_value, value['items']['required'] | default([])) -}}
38
+ {%- endif -%}
39
+ }
40
+ {%- elif item_key == 'required' -%}
41
+ required:[
42
+ {%- for req_item in item_value -%}
43
+ <|"|>{{- req_item -}}<|"|>
44
+ {%- if not loop.last %},{% endif -%}
45
+ {%- endfor -%}
46
+ ]
47
+ {%- elif item_key == 'type' -%}
48
+ {%- if item_value is string -%}
49
+ type:{{ format_argument(item_value | upper) }}
50
+ {%- else -%}
51
+ type:{{ format_argument(item_value | map('upper') | list) }}
52
+ {%- endif -%}
53
+ {%- else -%}
54
+ {{ item_key }}:{{ format_argument(item_value) }}
55
+ {%- endif -%}
56
+ {%- endif -%}
57
+ {%- endfor -%}
58
+ }
59
+ {%- endif -%}
60
+ {%- endif -%}
61
+ {%- if value['nullable'] %}
62
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
63
+ nullable:true
64
+ {%- endif -%}
65
+ {%- if value['type'] | upper == 'OBJECT' -%}
66
+ {%- if value['properties'] is defined and value['properties'] is mapping -%}
67
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
68
+ properties:{
69
+ {{- format_parameters(value['properties'], value['required'] | default([])) -}}
70
+ }
71
+ {%- elif value is mapping -%}
72
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
73
+ properties:{
74
+ {{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}
75
+ }
76
+ {%- endif -%}
77
+ {%- if value['required'] -%}
78
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
79
+ required:[
80
+ {%- for item in value['required'] | default([]) -%}
81
+ <|"|>{{- item -}}<|"|>
82
+ {%- if not loop.last %},{% endif -%}
83
+ {%- endfor -%}
84
+ ]
85
+ {%- endif -%}
86
+ {%- endif -%}
87
+ {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
88
+ type:<|"|>{{ value['type'] | upper }}<|"|>}
89
+ {%- endif -%}
90
+ {%- endfor -%}
91
+ {%- endmacro -%}
92
+ {%- macro format_function_declaration(tool_data) -%}
93
+ declaration:{{- tool_data['function']['name'] -}}{description:<|"|>{{- tool_data['function']['description'] -}}<|"|>
94
+ {%- set params = tool_data['function']['parameters'] -%}
95
+ {%- if params -%}
96
+ ,parameters:{
97
+ {%- if params['properties'] -%}
98
+ properties:{ {{- format_parameters(params['properties'], params['required']) -}} },
99
+ {%- endif -%}
100
+ {%- if params['required'] -%}
101
+ required:[
102
+ {%- for item in params['required'] -%}
103
+ <|"|>{{- item -}}<|"|>
104
+ {{- ',' if not loop.last -}}
105
+ {%- endfor -%}
106
+ ],
107
+ {%- endif -%}
108
+ {%- if params['type'] -%}
109
+ type:<|"|>{{- params['type'] | upper -}}<|"|>}
110
+ {%- endif -%}
111
+ {%- endif -%}
112
+ {%- if 'response' in tool_data['function'] -%}
113
+ {%- set response_declaration = tool_data['function']['response'] -%}
114
+ ,response:{
115
+ {%- if response_declaration['description'] -%}
116
+ description:<|"|>{{- response_declaration['description'] -}}<|"|>,
117
+ {%- endif -%}
118
+ {%- if response_declaration['type'] | upper == 'OBJECT' -%}
119
+ type:<|"|>{{- response_declaration['type'] | upper -}}<|"|>}
120
+ {%- endif -%}
121
+ {%- endif -%}
122
+ }
123
+ {%- endmacro -%}
124
+ {%- macro format_argument(argument, escape_keys=True) -%}
125
+ {%- if argument is none -%}
126
+ {{- 'null' -}}
127
+ {%- elif argument is string -%}
128
+ {{- '<|"|>' + argument + '<|"|>' -}}
129
+ {%- elif argument is boolean -%}
130
+ {{- 'true' if argument else 'false' -}}
131
+ {%- elif argument is mapping -%}
132
+ {{- '{' -}}
133
+ {%- set ns = namespace(found_first=false) -%}
134
+ {%- for key, value in argument | dictsort -%}
135
+ {%- if ns.found_first %},{% endif -%}
136
+ {%- set ns.found_first = true -%}
137
+ {%- if escape_keys -%}
138
+ {{- '<|"|>' + key + '<|"|>' -}}
139
+ {%- else -%}
140
+ {{- key -}}
141
+ {%- endif -%}
142
+ :{{- format_argument(value, escape_keys=escape_keys) -}}
143
+ {%- endfor -%}
144
+ {{- '}' -}}
145
+ {%- elif argument is sequence -%}
146
+ {{- '[' -}}
147
+ {%- for item in argument -%}
148
+ {{- format_argument(item, escape_keys=escape_keys) -}}
149
+ {%- if not loop.last %},{% endif -%}
150
+ {%- endfor -%}
151
+ {{- ']' -}}
152
+ {%- else -%}
153
+ {{- argument -}}
154
+ {%- endif -%}
155
+ {%- endmacro -%}
156
+ {%- macro strip_thinking(text) -%}
157
+ {%- set ns = namespace(result='') -%}
158
+ {%- for part in text.split('<channel|>') -%}
159
+ {%- if '<|channel>' in part -%}
160
+ {%- set ns.result = ns.result + part.split('<|channel>')[0] -%}
161
+ {%- else -%}
162
+ {%- set ns.result = ns.result + part -%}
163
+ {%- endif -%}
164
+ {%- endfor -%}
165
+ {{- ns.result | trim -}}
166
+ {%- endmacro -%}
167
+
168
+ {%- macro format_tool_response_block(tool_name, response) -%}
169
+ {{- '<|tool_response>' -}}
170
+ {%- if response is mapping -%}
171
+ {{- 'response:' + tool_name + '{' -}}
172
+ {%- for key, value in response | dictsort -%}
173
+ {{- key -}}:{{- format_argument(value, escape_keys=False) -}}
174
+ {%- if not loop.last %},{% endif -%}
175
+ {%- endfor -%}
176
+ {{- '}' -}}
177
+ {%- else -%}
178
+ {{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}
179
+ {%- endif -%}
180
+ {{- '<tool_response|>' -}}
181
+ {%- endmacro -%}
182
+
183
+ {#- ===== SETUP ===== -#}
184
+ {%- set ns = namespace(prev_message_type=None, prev_non_tool_role=None) -%}
185
+ {%- set loop_messages = messages -%}
186
+ {%- set enable_thinking = enable_thinking | default(false) -%}
187
+ {%- set preserve_thinking = preserve_thinking | default(false) -%}
188
+ {{- bos_token -}}
189
+ {#- Handle System/Tool Definitions Block -#}
190
+ {%- if enable_thinking or tools or (messages and messages[0]['role'] in ['system', 'developer']) -%}
191
+ {{- '<|turn>system\n' -}}
192
+ {#- Inject Thinking token at the very top of the FIRST system turn -#}
193
+ {%- if enable_thinking -%}
194
+ {{- '<|think|>\n' -}}
195
+ {%- set ns.prev_message_type = 'think' -%}
196
+ {%- endif -%}
197
+ {%- if messages and messages[0]['role'] in ['system', 'developer'] -%}
198
+ {%- if messages[0]['content'] is string -%}
199
+ {{- messages[0]['content'] | trim -}}
200
+ {%- elif messages[0]['content'] is sequence -%}
201
+ {%- for item in messages[0]['content'] -%}
202
+ {{- item['text'] | trim + ' '-}}
203
+ {%- endfor -%}
204
+ {%- endif -%}
205
+ {%- set loop_messages = messages[1:] -%}
206
+ {%- endif -%}
207
+ {%- if tools -%}
208
+ {%- for tool in tools %}
209
+ {{- '<|tool>' -}}
210
+ {{- format_function_declaration(tool) | trim -}}
211
+ {{- '<tool|>' -}}
212
+ {%- endfor %}
213
+ {%- set ns.prev_message_type = 'tool' -%}
214
+ {%- endif -%}
215
+ {{- '<turn|>\n' -}}
216
+ {%- endif %}
217
+
218
+ {#- Pre-scan: find last user message index for reasoning guard -#}
219
+ {%- set ns_turn = namespace(last_user_idx=-1) -%}
220
+ {%- for i in range(loop_messages | length) -%}
221
+ {%- if loop_messages[i]['role'] == 'user' -%}
222
+ {%- set ns_turn.last_user_idx = i -%}
223
+ {%- endif -%}
224
+ {%- endfor -%}
225
+
226
+ {#- Loop through messages -#}
227
+ {%- for message in loop_messages -%}
228
+ {%- if message['role'] != 'tool' -%}
229
+ {%- set ns.prev_message_type = None -%}
230
+ {%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
231
+ {#- Detect continuation using tracked state — O(1) instead of O(n) backward scan -#}
232
+ {%- set continue_same_model_turn = (role == 'model' and ns.prev_non_tool_role == 'assistant') -%}
233
+ {%- if not continue_same_model_turn -%}
234
+ {{- '<|turn>' + role + '\n' }}
235
+
236
+ {%- endif -%}
237
+
238
+ {#- Render reasoning/reasoning_content as thinking channel -#}
239
+ {%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}
240
+ {%- set thinking_gate = (loop.index0 > ns_turn.last_user_idx) or (preserve_thinking and message.get('tool_calls')) -%}
241
+ {%- if thinking_text and thinking_gate -%}
242
+ {{- '<|channel>thought\n' + thinking_text + '\n<channel|>' -}}
243
+ {%- endif -%}
244
+
245
+ {%- if message.get('tool_calls') -%}
246
+ {%- for tool_call in message.get('tool_calls') -%}
247
+ {%- set function = tool_call['function'] -%}
248
+ {{- '<|tool_call>call:' + function['name'] + '{' -}}
249
+ {%- if function['arguments'] is mapping -%}
250
+ {%- set ns_args = namespace(found_first=false) -%}
251
+ {%- for key, value in function['arguments'] | dictsort -%}
252
+ {%- if ns_args.found_first %},{% endif -%}
253
+ {%- set ns_args.found_first = true -%}
254
+ {{- key -}}:{{- format_argument(value, escape_keys=False) -}}
255
+ {%- endfor -%}
256
+ {%- elif function['arguments'] is none -%}
257
+ {%- else -%}
258
+ {{- raise_exception(
259
+ "chat_template: tool_calls[].function.arguments must be a "
260
+ "JSON object (mapping), not a string. Deserialize arguments "
261
+ "before passing to the template."
262
+ ) -}}
263
+ {%- endif -%}
264
+ {{- '}<tool_call|>' -}}
265
+ {%- endfor -%}
266
+ {%- set ns.prev_message_type = 'tool_call' -%}
267
+ {%- endif -%}
268
+
269
+ {%- set ns_tr_out = namespace(flag=false) -%}
270
+ {%- if message.get('tool_responses') -%}
271
+ {#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}
272
+ {%- for tool_response in message.get('tool_responses') -%}
273
+ {{- format_tool_response_block(tool_response['name'] | default('unknown', true), tool_response['response']) -}}
274
+ {%- set ns_tr_out.flag = true -%}
275
+ {%- set ns.prev_message_type = 'tool_response' -%}
276
+ {%- endfor -%}
277
+ {%- elif message.get('tool_calls') -%}
278
+ {#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}
279
+ {%- set ns_tool_scan = namespace(stopped=false) -%}
280
+ {%- for k in range(loop.index0 + 1, loop_messages | length) -%}
281
+ {%- if ns_tool_scan.stopped -%}
282
+ {%- elif loop_messages[k]['role'] != 'tool' -%}
283
+ {%- set ns_tool_scan.stopped = true -%}
284
+ {%- else -%}
285
+ {%- set follow = loop_messages[k] -%}
286
+ {#- Resolve tool_call_id to function name -#}
287
+ {%- set ns_tname = namespace(name=follow.get('name') or 'unknown') -%}
288
+ {%- for tc in message.get('tool_calls') -%}
289
+ {%- if tc.get('id') == follow.get('tool_call_id') -%}
290
+ {%- set ns_tname.name = tc['function']['name'] -%}
291
+ {%- endif -%}
292
+ {%- endfor -%}
293
+ {#- Handle content as string or content-parts array -#}
294
+ {%- set tool_body = follow.get('content') -%}
295
+ {%- if tool_body is string -%}
296
+ {{- format_tool_response_block(ns_tname.name, tool_body) -}}
297
+ {%- elif tool_body is sequence and tool_body is not string -%}
298
+ {%- set ns_txt = namespace(s='') -%}
299
+ {%- for part in tool_body -%}
300
+ {%- if part.get('type') == 'text' -%}
301
+ {%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}
302
+ {%- endif -%}
303
+ {%- endfor -%}
304
+ {{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}
305
+ {%- for part in tool_body -%}
306
+ {%- if part.get('type') in ['image', 'image_url'] -%}
307
+ {{- '<|image|>' -}}
308
+ {%- elif part.get('type') in ['audio', 'input_audio'] -%}
309
+ {{- '<|audio|>' -}}
310
+ {%- elif part.get('type') == 'video' -%}
311
+ {{- '<|video|>' -}}
312
+ {%- endif -%}
313
+ {%- endfor -%}
314
+ {%- else -%}
315
+ {{- format_tool_response_block(ns_tname.name, tool_body) -}}
316
+ {%- endif -%}
317
+ {%- set ns_tr_out.flag = true -%}
318
+ {%- set ns.prev_message_type = 'tool_response' -%}
319
+ {%- endif -%}
320
+ {%- endfor -%}
321
+ {%- endif -%}
322
+
323
+ {%- set captured_content -%}
324
+ {%- if message.get('content') is string -%}
325
+ {%- if role == 'model' -%}
326
+ {{- strip_thinking(message['content']) -}}
327
+ {%- else -%}
328
+ {{- message['content'] | trim -}}
329
+ {%- endif -%}
330
+ {%- elif message.get('content') is sequence -%}
331
+ {%- for item in message['content'] -%}
332
+ {%- if item.get('type') == 'text' -%}
333
+ {%- if role == 'model' -%}
334
+ {{- strip_thinking(item['text']) -}}
335
+ {%- else -%}
336
+ {{- item['text'] | trim -}}
337
+ {%- endif -%}
338
+ {%- elif item.get('type') in ['image', 'image_url'] -%}
339
+ {{- '<|image|>' -}}
340
+ {%- elif item.get('type') in ['audio', 'input_audio'] -%}
341
+ {{- '<|audio|>' -}}
342
+ {%- elif item.get('type') == 'video' -%}
343
+ {{- '<|video|>' -}}
344
+ {%- endif -%}
345
+ {%- endfor -%}
346
+ {%- endif -%}
347
+ {%- endset -%}
348
+
349
+ {{- captured_content -}}
350
+ {%- set has_content = captured_content | trim | length > 0 -%}
351
+
352
+ {#- Forward-scan: find next non-tool message role for continuation detection -#}
353
+ {%- set next_nt = namespace(role=None, found=false) -%}
354
+ {%- for j in range(loop.index0 + 1, loop_messages | length) -%}
355
+ {%- if not next_nt.found -%}
356
+ {%- if loop_messages[j]['role'] != 'tool' -%}
357
+ {%- set next_nt.role = loop_messages[j]['role'] -%}
358
+ {%- set next_nt.found = true -%}
359
+ {%- endif -%}
360
+ {%- endif -%}
361
+ {%- endfor -%}
362
+
363
+ {%- set continues_into_next = (
364
+ role == 'model'
365
+ and next_nt.role == 'assistant'
366
+ and (not message.get('tool_calls') or ns_tr_out.flag)
367
+ ) -%}
368
+
369
+ {%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}
370
+ {{- '<|tool_response>' -}}
371
+ {%- elif continues_into_next -%}
372
+ {%- elif not (ns_tr_out.flag and not has_content and not next_nt.found) -%}
373
+ {{- '<turn|>\n' -}}
374
+ {%- endif -%}
375
+
376
+ {#- Track previous non-tool role for next iteration (avoids O(n) backward scan) -#}
377
+ {%- set ns.prev_non_tool_role = message['role'] -%}
378
+ {%- endif -%}
379
+ {%- endfor -%}
380
+
381
+ {%- if add_generation_prompt -%}
382
+ {%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}
383
+ {{- '<|turn>model\n' -}}
384
+ {%- if not enable_thinking -%}
385
+ {{- '<|channel>thought\n<channel|>' -}}
386
+ {%- endif -%}
387
+ {%- elif ns.prev_message_type == 'tool_response' and enable_thinking -%}
388
+ {{- '<|channel>thought\n' -}}
389
+ {%- endif -%}
390
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,978 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Gemma4ForConditionalGeneration"
4
+ ],
5
+ "audio_config": null,
6
+ "audio_token_id": 258881,
7
+ "boa_token_id": 256000,
8
+ "boi_token_id": 255999,
9
+ "dtype": "bfloat16",
10
+ "eoa_token_id": 258883,
11
+ "eoa_token_index": 258883,
12
+ "eoi_token_id": 258882,
13
+ "eos_token_id": [
14
+ 1,
15
+ 106,
16
+ 50
17
+ ],
18
+ "image_token_id": 258880,
19
+ "initializer_range": 0.02,
20
+ "model_type": "gemma4",
21
+ "text_config": {
22
+ "attention_bias": false,
23
+ "attention_dropout": 0.0,
24
+ "attention_k_eq_v": true,
25
+ "bos_token_id": 2,
26
+ "dtype": "bfloat16",
27
+ "enable_moe_block": false,
28
+ "eos_token_id": 1,
29
+ "expert_intermediate_size": null,
30
+ "final_logit_softcapping": 30.0,
31
+ "global_head_dim": 512,
32
+ "head_dim": 256,
33
+ "hidden_activation": "gelu_pytorch_tanh",
34
+ "hidden_size": 5376,
35
+ "hidden_size_per_layer_input": 0,
36
+ "initializer_range": 0.02,
37
+ "intermediate_size": 21504,
38
+ "layer_types": [
39
+ "sliding_attention",
40
+ "sliding_attention",
41
+ "sliding_attention",
42
+ "sliding_attention",
43
+ "sliding_attention",
44
+ "full_attention",
45
+ "sliding_attention",
46
+ "sliding_attention",
47
+ "sliding_attention",
48
+ "sliding_attention",
49
+ "sliding_attention",
50
+ "full_attention",
51
+ "sliding_attention",
52
+ "sliding_attention",
53
+ "sliding_attention",
54
+ "sliding_attention",
55
+ "sliding_attention",
56
+ "full_attention",
57
+ "sliding_attention",
58
+ "sliding_attention",
59
+ "sliding_attention",
60
+ "sliding_attention",
61
+ "sliding_attention",
62
+ "full_attention",
63
+ "sliding_attention",
64
+ "sliding_attention",
65
+ "sliding_attention",
66
+ "sliding_attention",
67
+ "sliding_attention",
68
+ "full_attention",
69
+ "sliding_attention",
70
+ "sliding_attention",
71
+ "sliding_attention",
72
+ "sliding_attention",
73
+ "sliding_attention",
74
+ "full_attention",
75
+ "sliding_attention",
76
+ "sliding_attention",
77
+ "sliding_attention",
78
+ "sliding_attention",
79
+ "sliding_attention",
80
+ "full_attention",
81
+ "sliding_attention",
82
+ "sliding_attention",
83
+ "sliding_attention",
84
+ "sliding_attention",
85
+ "sliding_attention",
86
+ "full_attention",
87
+ "sliding_attention",
88
+ "sliding_attention",
89
+ "sliding_attention",
90
+ "sliding_attention",
91
+ "sliding_attention",
92
+ "full_attention",
93
+ "sliding_attention",
94
+ "sliding_attention",
95
+ "sliding_attention",
96
+ "sliding_attention",
97
+ "sliding_attention",
98
+ "full_attention"
99
+ ],
100
+ "max_position_embeddings": 262144,
101
+ "model_type": "gemma4_text",
102
+ "moe_intermediate_size": null,
103
+ "num_attention_heads": 32,
104
+ "num_experts": null,
105
+ "num_global_key_value_heads": 4,
106
+ "num_hidden_layers": 60,
107
+ "num_key_value_heads": 16,
108
+ "num_kv_shared_layers": 0,
109
+ "pad_token_id": 0,
110
+ "rms_norm_eps": 1e-06,
111
+ "rope_parameters": {
112
+ "full_attention": {
113
+ "partial_rotary_factor": 0.25,
114
+ "rope_theta": 1000000.0,
115
+ "rope_type": "proportional"
116
+ },
117
+ "sliding_attention": {
118
+ "rope_theta": 10000.0,
119
+ "rope_type": "default"
120
+ }
121
+ },
122
+ "sliding_window": 1024,
123
+ "tie_word_embeddings": true,
124
+ "top_k_experts": null,
125
+ "use_bidirectional_attention": "vision",
126
+ "use_cache": true,
127
+ "use_double_wide_mlp": false,
128
+ "vocab_size": 262144,
129
+ "vocab_size_per_layer_input": 262144
130
+ },
131
+ "tie_word_embeddings": true,
132
+ "transformers_version": "5.8.0",
133
+ "video_token_id": 258884,
134
+ "vision_config": {
135
+ "_name_or_path": "",
136
+ "architectures": null,
137
+ "attention_bias": false,
138
+ "attention_dropout": 0.0,
139
+ "chunk_size_feed_forward": 0,
140
+ "default_output_length": 280,
141
+ "dtype": "bfloat16",
142
+ "global_head_dim": 72,
143
+ "head_dim": 72,
144
+ "hidden_activation": "gelu_pytorch_tanh",
145
+ "hidden_size": 1152,
146
+ "id2label": {
147
+ "0": "LABEL_0",
148
+ "1": "LABEL_1"
149
+ },
150
+ "initializer_range": 0.02,
151
+ "intermediate_size": 4304,
152
+ "is_encoder_decoder": false,
153
+ "label2id": {
154
+ "LABEL_0": 0,
155
+ "LABEL_1": 1
156
+ },
157
+ "max_position_embeddings": 131072,
158
+ "model_type": "gemma4_vision",
159
+ "num_attention_heads": 16,
160
+ "num_hidden_layers": 27,
161
+ "num_key_value_heads": 16,
162
+ "output_attentions": false,
163
+ "output_hidden_states": false,
164
+ "patch_size": 16,
165
+ "pooling_kernel_size": 3,
166
+ "position_embedding_size": 10240,
167
+ "problem_type": null,
168
+ "return_dict": true,
169
+ "rms_norm_eps": 1e-06,
170
+ "rope_parameters": {
171
+ "rope_theta": 100.0,
172
+ "rope_type": "default"
173
+ },
174
+ "standardize": true,
175
+ "use_clipped_linears": false
176
+ },
177
+ "vision_soft_tokens_per_image": 280,
178
+ "quantization_config": {
179
+ "quant_method": "compressed-tensors",
180
+ "format": "float-quantized",
181
+ "config_groups": {
182
+ "group_0": {
183
+ "weights": {
184
+ "num_bits": 8,
185
+ "type": "float",
186
+ "symmetric": true,
187
+ "strategy": "channel",
188
+ "dynamic": false
189
+ },
190
+ "input_activations": null,
191
+ "targets": [
192
+ "Linear"
193
+ ]
194
+ }
195
+ },
196
+ "ignore": [
197
+ "model.embed_vision.embedding_projection",
198
+ "model.language_model.embed_tokens",
199
+ "model.language_model.layers.0.input_layernorm",
200
+ "model.language_model.layers.0.layer_scalar",
201
+ "model.language_model.layers.0.post_attention_layernorm",
202
+ "model.language_model.layers.0.post_feedforward_layernorm",
203
+ "model.language_model.layers.0.pre_feedforward_layernorm",
204
+ "model.language_model.layers.0.self_attn.k_norm",
205
+ "model.language_model.layers.0.self_attn.q_norm",
206
+ "model.language_model.layers.1.input_layernorm",
207
+ "model.language_model.layers.1.layer_scalar",
208
+ "model.language_model.layers.1.post_attention_layernorm",
209
+ "model.language_model.layers.1.post_feedforward_layernorm",
210
+ "model.language_model.layers.1.pre_feedforward_layernorm",
211
+ "model.language_model.layers.1.self_attn.k_norm",
212
+ "model.language_model.layers.1.self_attn.q_norm",
213
+ "model.language_model.layers.10.input_layernorm",
214
+ "model.language_model.layers.10.layer_scalar",
215
+ "model.language_model.layers.10.post_attention_layernorm",
216
+ "model.language_model.layers.10.post_feedforward_layernorm",
217
+ "model.language_model.layers.10.pre_feedforward_layernorm",
218
+ "model.language_model.layers.10.self_attn.k_norm",
219
+ "model.language_model.layers.10.self_attn.q_norm",
220
+ "model.language_model.layers.11.input_layernorm",
221
+ "model.language_model.layers.11.layer_scalar",
222
+ "model.language_model.layers.11.post_attention_layernorm",
223
+ "model.language_model.layers.11.post_feedforward_layernorm",
224
+ "model.language_model.layers.11.pre_feedforward_layernorm",
225
+ "model.language_model.layers.11.self_attn.k_norm",
226
+ "model.language_model.layers.11.self_attn.q_norm",
227
+ "model.language_model.layers.12.input_layernorm",
228
+ "model.language_model.layers.12.layer_scalar",
229
+ "model.language_model.layers.12.post_attention_layernorm",
230
+ "model.language_model.layers.12.post_feedforward_layernorm",
231
+ "model.language_model.layers.12.pre_feedforward_layernorm",
232
+ "model.language_model.layers.12.self_attn.k_norm",
233
+ "model.language_model.layers.12.self_attn.q_norm",
234
+ "model.language_model.layers.13.input_layernorm",
235
+ "model.language_model.layers.13.layer_scalar",
236
+ "model.language_model.layers.13.post_attention_layernorm",
237
+ "model.language_model.layers.13.post_feedforward_layernorm",
238
+ "model.language_model.layers.13.pre_feedforward_layernorm",
239
+ "model.language_model.layers.13.self_attn.k_norm",
240
+ "model.language_model.layers.13.self_attn.q_norm",
241
+ "model.language_model.layers.14.input_layernorm",
242
+ "model.language_model.layers.14.layer_scalar",
243
+ "model.language_model.layers.14.post_attention_layernorm",
244
+ "model.language_model.layers.14.post_feedforward_layernorm",
245
+ "model.language_model.layers.14.pre_feedforward_layernorm",
246
+ "model.language_model.layers.14.self_attn.k_norm",
247
+ "model.language_model.layers.14.self_attn.q_norm",
248
+ "model.language_model.layers.15.input_layernorm",
249
+ "model.language_model.layers.15.layer_scalar",
250
+ "model.language_model.layers.15.post_attention_layernorm",
251
+ "model.language_model.layers.15.post_feedforward_layernorm",
252
+ "model.language_model.layers.15.pre_feedforward_layernorm",
253
+ "model.language_model.layers.15.self_attn.k_norm",
254
+ "model.language_model.layers.15.self_attn.q_norm",
255
+ "model.language_model.layers.16.input_layernorm",
256
+ "model.language_model.layers.16.layer_scalar",
257
+ "model.language_model.layers.16.post_attention_layernorm",
258
+ "model.language_model.layers.16.post_feedforward_layernorm",
259
+ "model.language_model.layers.16.pre_feedforward_layernorm",
260
+ "model.language_model.layers.16.self_attn.k_norm",
261
+ "model.language_model.layers.16.self_attn.q_norm",
262
+ "model.language_model.layers.17.input_layernorm",
263
+ "model.language_model.layers.17.layer_scalar",
264
+ "model.language_model.layers.17.post_attention_layernorm",
265
+ "model.language_model.layers.17.post_feedforward_layernorm",
266
+ "model.language_model.layers.17.pre_feedforward_layernorm",
267
+ "model.language_model.layers.17.self_attn.k_norm",
268
+ "model.language_model.layers.17.self_attn.q_norm",
269
+ "model.language_model.layers.18.input_layernorm",
270
+ "model.language_model.layers.18.layer_scalar",
271
+ "model.language_model.layers.18.post_attention_layernorm",
272
+ "model.language_model.layers.18.post_feedforward_layernorm",
273
+ "model.language_model.layers.18.pre_feedforward_layernorm",
274
+ "model.language_model.layers.18.self_attn.k_norm",
275
+ "model.language_model.layers.18.self_attn.q_norm",
276
+ "model.language_model.layers.19.input_layernorm",
277
+ "model.language_model.layers.19.layer_scalar",
278
+ "model.language_model.layers.19.post_attention_layernorm",
279
+ "model.language_model.layers.19.post_feedforward_layernorm",
280
+ "model.language_model.layers.19.pre_feedforward_layernorm",
281
+ "model.language_model.layers.19.self_attn.k_norm",
282
+ "model.language_model.layers.19.self_attn.q_norm",
283
+ "model.language_model.layers.2.input_layernorm",
284
+ "model.language_model.layers.2.layer_scalar",
285
+ "model.language_model.layers.2.post_attention_layernorm",
286
+ "model.language_model.layers.2.post_feedforward_layernorm",
287
+ "model.language_model.layers.2.pre_feedforward_layernorm",
288
+ "model.language_model.layers.2.self_attn.k_norm",
289
+ "model.language_model.layers.2.self_attn.q_norm",
290
+ "model.language_model.layers.20.input_layernorm",
291
+ "model.language_model.layers.20.layer_scalar",
292
+ "model.language_model.layers.20.post_attention_layernorm",
293
+ "model.language_model.layers.20.post_feedforward_layernorm",
294
+ "model.language_model.layers.20.pre_feedforward_layernorm",
295
+ "model.language_model.layers.20.self_attn.k_norm",
296
+ "model.language_model.layers.20.self_attn.q_norm",
297
+ "model.language_model.layers.21.input_layernorm",
298
+ "model.language_model.layers.21.layer_scalar",
299
+ "model.language_model.layers.21.post_attention_layernorm",
300
+ "model.language_model.layers.21.post_feedforward_layernorm",
301
+ "model.language_model.layers.21.pre_feedforward_layernorm",
302
+ "model.language_model.layers.21.self_attn.k_norm",
303
+ "model.language_model.layers.21.self_attn.q_norm",
304
+ "model.language_model.layers.22.input_layernorm",
305
+ "model.language_model.layers.22.layer_scalar",
306
+ "model.language_model.layers.22.post_attention_layernorm",
307
+ "model.language_model.layers.22.post_feedforward_layernorm",
308
+ "model.language_model.layers.22.pre_feedforward_layernorm",
309
+ "model.language_model.layers.22.self_attn.k_norm",
310
+ "model.language_model.layers.22.self_attn.q_norm",
311
+ "model.language_model.layers.23.input_layernorm",
312
+ "model.language_model.layers.23.layer_scalar",
313
+ "model.language_model.layers.23.post_attention_layernorm",
314
+ "model.language_model.layers.23.post_feedforward_layernorm",
315
+ "model.language_model.layers.23.pre_feedforward_layernorm",
316
+ "model.language_model.layers.23.self_attn.k_norm",
317
+ "model.language_model.layers.23.self_attn.q_norm",
318
+ "model.language_model.layers.24.input_layernorm",
319
+ "model.language_model.layers.24.layer_scalar",
320
+ "model.language_model.layers.24.post_attention_layernorm",
321
+ "model.language_model.layers.24.post_feedforward_layernorm",
322
+ "model.language_model.layers.24.pre_feedforward_layernorm",
323
+ "model.language_model.layers.24.self_attn.k_norm",
324
+ "model.language_model.layers.24.self_attn.q_norm",
325
+ "model.language_model.layers.25.input_layernorm",
326
+ "model.language_model.layers.25.layer_scalar",
327
+ "model.language_model.layers.25.post_attention_layernorm",
328
+ "model.language_model.layers.25.post_feedforward_layernorm",
329
+ "model.language_model.layers.25.pre_feedforward_layernorm",
330
+ "model.language_model.layers.25.self_attn.k_norm",
331
+ "model.language_model.layers.25.self_attn.q_norm",
332
+ "model.language_model.layers.26.input_layernorm",
333
+ "model.language_model.layers.26.layer_scalar",
334
+ "model.language_model.layers.26.post_attention_layernorm",
335
+ "model.language_model.layers.26.post_feedforward_layernorm",
336
+ "model.language_model.layers.26.pre_feedforward_layernorm",
337
+ "model.language_model.layers.26.self_attn.k_norm",
338
+ "model.language_model.layers.26.self_attn.q_norm",
339
+ "model.language_model.layers.27.input_layernorm",
340
+ "model.language_model.layers.27.layer_scalar",
341
+ "model.language_model.layers.27.post_attention_layernorm",
342
+ "model.language_model.layers.27.post_feedforward_layernorm",
343
+ "model.language_model.layers.27.pre_feedforward_layernorm",
344
+ "model.language_model.layers.27.self_attn.k_norm",
345
+ "model.language_model.layers.27.self_attn.q_norm",
346
+ "model.language_model.layers.28.input_layernorm",
347
+ "model.language_model.layers.28.layer_scalar",
348
+ "model.language_model.layers.28.post_attention_layernorm",
349
+ "model.language_model.layers.28.post_feedforward_layernorm",
350
+ "model.language_model.layers.28.pre_feedforward_layernorm",
351
+ "model.language_model.layers.28.self_attn.k_norm",
352
+ "model.language_model.layers.28.self_attn.q_norm",
353
+ "model.language_model.layers.29.input_layernorm",
354
+ "model.language_model.layers.29.layer_scalar",
355
+ "model.language_model.layers.29.post_attention_layernorm",
356
+ "model.language_model.layers.29.post_feedforward_layernorm",
357
+ "model.language_model.layers.29.pre_feedforward_layernorm",
358
+ "model.language_model.layers.29.self_attn.k_norm",
359
+ "model.language_model.layers.29.self_attn.q_norm",
360
+ "model.language_model.layers.3.input_layernorm",
361
+ "model.language_model.layers.3.layer_scalar",
362
+ "model.language_model.layers.3.post_attention_layernorm",
363
+ "model.language_model.layers.3.post_feedforward_layernorm",
364
+ "model.language_model.layers.3.pre_feedforward_layernorm",
365
+ "model.language_model.layers.3.self_attn.k_norm",
366
+ "model.language_model.layers.3.self_attn.q_norm",
367
+ "model.language_model.layers.30.input_layernorm",
368
+ "model.language_model.layers.30.layer_scalar",
369
+ "model.language_model.layers.30.post_attention_layernorm",
370
+ "model.language_model.layers.30.post_feedforward_layernorm",
371
+ "model.language_model.layers.30.pre_feedforward_layernorm",
372
+ "model.language_model.layers.30.self_attn.k_norm",
373
+ "model.language_model.layers.30.self_attn.q_norm",
374
+ "model.language_model.layers.31.input_layernorm",
375
+ "model.language_model.layers.31.layer_scalar",
376
+ "model.language_model.layers.31.post_attention_layernorm",
377
+ "model.language_model.layers.31.post_feedforward_layernorm",
378
+ "model.language_model.layers.31.pre_feedforward_layernorm",
379
+ "model.language_model.layers.31.self_attn.k_norm",
380
+ "model.language_model.layers.31.self_attn.q_norm",
381
+ "model.language_model.layers.32.input_layernorm",
382
+ "model.language_model.layers.32.layer_scalar",
383
+ "model.language_model.layers.32.post_attention_layernorm",
384
+ "model.language_model.layers.32.post_feedforward_layernorm",
385
+ "model.language_model.layers.32.pre_feedforward_layernorm",
386
+ "model.language_model.layers.32.self_attn.k_norm",
387
+ "model.language_model.layers.32.self_attn.q_norm",
388
+ "model.language_model.layers.33.input_layernorm",
389
+ "model.language_model.layers.33.layer_scalar",
390
+ "model.language_model.layers.33.post_attention_layernorm",
391
+ "model.language_model.layers.33.post_feedforward_layernorm",
392
+ "model.language_model.layers.33.pre_feedforward_layernorm",
393
+ "model.language_model.layers.33.self_attn.k_norm",
394
+ "model.language_model.layers.33.self_attn.q_norm",
395
+ "model.language_model.layers.34.input_layernorm",
396
+ "model.language_model.layers.34.layer_scalar",
397
+ "model.language_model.layers.34.post_attention_layernorm",
398
+ "model.language_model.layers.34.post_feedforward_layernorm",
399
+ "model.language_model.layers.34.pre_feedforward_layernorm",
400
+ "model.language_model.layers.34.self_attn.k_norm",
401
+ "model.language_model.layers.34.self_attn.q_norm",
402
+ "model.language_model.layers.35.input_layernorm",
403
+ "model.language_model.layers.35.layer_scalar",
404
+ "model.language_model.layers.35.post_attention_layernorm",
405
+ "model.language_model.layers.35.post_feedforward_layernorm",
406
+ "model.language_model.layers.35.pre_feedforward_layernorm",
407
+ "model.language_model.layers.35.self_attn.k_norm",
408
+ "model.language_model.layers.35.self_attn.q_norm",
409
+ "model.language_model.layers.36.input_layernorm",
410
+ "model.language_model.layers.36.layer_scalar",
411
+ "model.language_model.layers.36.post_attention_layernorm",
412
+ "model.language_model.layers.36.post_feedforward_layernorm",
413
+ "model.language_model.layers.36.pre_feedforward_layernorm",
414
+ "model.language_model.layers.36.self_attn.k_norm",
415
+ "model.language_model.layers.36.self_attn.q_norm",
416
+ "model.language_model.layers.37.input_layernorm",
417
+ "model.language_model.layers.37.layer_scalar",
418
+ "model.language_model.layers.37.post_attention_layernorm",
419
+ "model.language_model.layers.37.post_feedforward_layernorm",
420
+ "model.language_model.layers.37.pre_feedforward_layernorm",
421
+ "model.language_model.layers.37.self_attn.k_norm",
422
+ "model.language_model.layers.37.self_attn.q_norm",
423
+ "model.language_model.layers.38.input_layernorm",
424
+ "model.language_model.layers.38.layer_scalar",
425
+ "model.language_model.layers.38.post_attention_layernorm",
426
+ "model.language_model.layers.38.post_feedforward_layernorm",
427
+ "model.language_model.layers.38.pre_feedforward_layernorm",
428
+ "model.language_model.layers.38.self_attn.k_norm",
429
+ "model.language_model.layers.38.self_attn.q_norm",
430
+ "model.language_model.layers.39.input_layernorm",
431
+ "model.language_model.layers.39.layer_scalar",
432
+ "model.language_model.layers.39.post_attention_layernorm",
433
+ "model.language_model.layers.39.post_feedforward_layernorm",
434
+ "model.language_model.layers.39.pre_feedforward_layernorm",
435
+ "model.language_model.layers.39.self_attn.k_norm",
436
+ "model.language_model.layers.39.self_attn.q_norm",
437
+ "model.language_model.layers.4.input_layernorm",
438
+ "model.language_model.layers.4.layer_scalar",
439
+ "model.language_model.layers.4.post_attention_layernorm",
440
+ "model.language_model.layers.4.post_feedforward_layernorm",
441
+ "model.language_model.layers.4.pre_feedforward_layernorm",
442
+ "model.language_model.layers.4.self_attn.k_norm",
443
+ "model.language_model.layers.4.self_attn.q_norm",
444
+ "model.language_model.layers.40.input_layernorm",
445
+ "model.language_model.layers.40.layer_scalar",
446
+ "model.language_model.layers.40.post_attention_layernorm",
447
+ "model.language_model.layers.40.post_feedforward_layernorm",
448
+ "model.language_model.layers.40.pre_feedforward_layernorm",
449
+ "model.language_model.layers.40.self_attn.k_norm",
450
+ "model.language_model.layers.40.self_attn.q_norm",
451
+ "model.language_model.layers.41.input_layernorm",
452
+ "model.language_model.layers.41.layer_scalar",
453
+ "model.language_model.layers.41.post_attention_layernorm",
454
+ "model.language_model.layers.41.post_feedforward_layernorm",
455
+ "model.language_model.layers.41.pre_feedforward_layernorm",
456
+ "model.language_model.layers.41.self_attn.k_norm",
457
+ "model.language_model.layers.41.self_attn.q_norm",
458
+ "model.language_model.layers.42.input_layernorm",
459
+ "model.language_model.layers.42.layer_scalar",
460
+ "model.language_model.layers.42.post_attention_layernorm",
461
+ "model.language_model.layers.42.post_feedforward_layernorm",
462
+ "model.language_model.layers.42.pre_feedforward_layernorm",
463
+ "model.language_model.layers.42.self_attn.k_norm",
464
+ "model.language_model.layers.42.self_attn.q_norm",
465
+ "model.language_model.layers.43.input_layernorm",
466
+ "model.language_model.layers.43.layer_scalar",
467
+ "model.language_model.layers.43.post_attention_layernorm",
468
+ "model.language_model.layers.43.post_feedforward_layernorm",
469
+ "model.language_model.layers.43.pre_feedforward_layernorm",
470
+ "model.language_model.layers.43.self_attn.k_norm",
471
+ "model.language_model.layers.43.self_attn.q_norm",
472
+ "model.language_model.layers.44.input_layernorm",
473
+ "model.language_model.layers.44.layer_scalar",
474
+ "model.language_model.layers.44.post_attention_layernorm",
475
+ "model.language_model.layers.44.post_feedforward_layernorm",
476
+ "model.language_model.layers.44.pre_feedforward_layernorm",
477
+ "model.language_model.layers.44.self_attn.k_norm",
478
+ "model.language_model.layers.44.self_attn.q_norm",
479
+ "model.language_model.layers.45.input_layernorm",
480
+ "model.language_model.layers.45.layer_scalar",
481
+ "model.language_model.layers.45.post_attention_layernorm",
482
+ "model.language_model.layers.45.post_feedforward_layernorm",
483
+ "model.language_model.layers.45.pre_feedforward_layernorm",
484
+ "model.language_model.layers.45.self_attn.k_norm",
485
+ "model.language_model.layers.45.self_attn.q_norm",
486
+ "model.language_model.layers.46.input_layernorm",
487
+ "model.language_model.layers.46.layer_scalar",
488
+ "model.language_model.layers.46.post_attention_layernorm",
489
+ "model.language_model.layers.46.post_feedforward_layernorm",
490
+ "model.language_model.layers.46.pre_feedforward_layernorm",
491
+ "model.language_model.layers.46.self_attn.k_norm",
492
+ "model.language_model.layers.46.self_attn.q_norm",
493
+ "model.language_model.layers.47.input_layernorm",
494
+ "model.language_model.layers.47.layer_scalar",
495
+ "model.language_model.layers.47.post_attention_layernorm",
496
+ "model.language_model.layers.47.post_feedforward_layernorm",
497
+ "model.language_model.layers.47.pre_feedforward_layernorm",
498
+ "model.language_model.layers.47.self_attn.k_norm",
499
+ "model.language_model.layers.47.self_attn.q_norm",
500
+ "model.language_model.layers.48.input_layernorm",
501
+ "model.language_model.layers.48.layer_scalar",
502
+ "model.language_model.layers.48.post_attention_layernorm",
503
+ "model.language_model.layers.48.post_feedforward_layernorm",
504
+ "model.language_model.layers.48.pre_feedforward_layernorm",
505
+ "model.language_model.layers.48.self_attn.k_norm",
506
+ "model.language_model.layers.48.self_attn.q_norm",
507
+ "model.language_model.layers.49.input_layernorm",
508
+ "model.language_model.layers.49.layer_scalar",
509
+ "model.language_model.layers.49.post_attention_layernorm",
510
+ "model.language_model.layers.49.post_feedforward_layernorm",
511
+ "model.language_model.layers.49.pre_feedforward_layernorm",
512
+ "model.language_model.layers.49.self_attn.k_norm",
513
+ "model.language_model.layers.49.self_attn.q_norm",
514
+ "model.language_model.layers.5.input_layernorm",
515
+ "model.language_model.layers.5.layer_scalar",
516
+ "model.language_model.layers.5.post_attention_layernorm",
517
+ "model.language_model.layers.5.post_feedforward_layernorm",
518
+ "model.language_model.layers.5.pre_feedforward_layernorm",
519
+ "model.language_model.layers.5.self_attn.k_norm",
520
+ "model.language_model.layers.5.self_attn.q_norm",
521
+ "model.language_model.layers.50.input_layernorm",
522
+ "model.language_model.layers.50.layer_scalar",
523
+ "model.language_model.layers.50.post_attention_layernorm",
524
+ "model.language_model.layers.50.post_feedforward_layernorm",
525
+ "model.language_model.layers.50.pre_feedforward_layernorm",
526
+ "model.language_model.layers.50.self_attn.k_norm",
527
+ "model.language_model.layers.50.self_attn.q_norm",
528
+ "model.language_model.layers.51.input_layernorm",
529
+ "model.language_model.layers.51.layer_scalar",
530
+ "model.language_model.layers.51.post_attention_layernorm",
531
+ "model.language_model.layers.51.post_feedforward_layernorm",
532
+ "model.language_model.layers.51.pre_feedforward_layernorm",
533
+ "model.language_model.layers.51.self_attn.k_norm",
534
+ "model.language_model.layers.51.self_attn.q_norm",
535
+ "model.language_model.layers.52.input_layernorm",
536
+ "model.language_model.layers.52.layer_scalar",
537
+ "model.language_model.layers.52.post_attention_layernorm",
538
+ "model.language_model.layers.52.post_feedforward_layernorm",
539
+ "model.language_model.layers.52.pre_feedforward_layernorm",
540
+ "model.language_model.layers.52.self_attn.k_norm",
541
+ "model.language_model.layers.52.self_attn.q_norm",
542
+ "model.language_model.layers.53.input_layernorm",
543
+ "model.language_model.layers.53.layer_scalar",
544
+ "model.language_model.layers.53.post_attention_layernorm",
545
+ "model.language_model.layers.53.post_feedforward_layernorm",
546
+ "model.language_model.layers.53.pre_feedforward_layernorm",
547
+ "model.language_model.layers.53.self_attn.k_norm",
548
+ "model.language_model.layers.53.self_attn.q_norm",
549
+ "model.language_model.layers.54.input_layernorm",
550
+ "model.language_model.layers.54.layer_scalar",
551
+ "model.language_model.layers.54.post_attention_layernorm",
552
+ "model.language_model.layers.54.post_feedforward_layernorm",
553
+ "model.language_model.layers.54.pre_feedforward_layernorm",
554
+ "model.language_model.layers.54.self_attn.k_norm",
555
+ "model.language_model.layers.54.self_attn.q_norm",
556
+ "model.language_model.layers.55.input_layernorm",
557
+ "model.language_model.layers.55.layer_scalar",
558
+ "model.language_model.layers.55.post_attention_layernorm",
559
+ "model.language_model.layers.55.post_feedforward_layernorm",
560
+ "model.language_model.layers.55.pre_feedforward_layernorm",
561
+ "model.language_model.layers.55.self_attn.k_norm",
562
+ "model.language_model.layers.55.self_attn.q_norm",
563
+ "model.language_model.layers.56.input_layernorm",
564
+ "model.language_model.layers.56.layer_scalar",
565
+ "model.language_model.layers.56.post_attention_layernorm",
566
+ "model.language_model.layers.56.post_feedforward_layernorm",
567
+ "model.language_model.layers.56.pre_feedforward_layernorm",
568
+ "model.language_model.layers.56.self_attn.k_norm",
569
+ "model.language_model.layers.56.self_attn.q_norm",
570
+ "model.language_model.layers.57.input_layernorm",
571
+ "model.language_model.layers.57.layer_scalar",
572
+ "model.language_model.layers.57.post_attention_layernorm",
573
+ "model.language_model.layers.57.post_feedforward_layernorm",
574
+ "model.language_model.layers.57.pre_feedforward_layernorm",
575
+ "model.language_model.layers.57.self_attn.k_norm",
576
+ "model.language_model.layers.57.self_attn.q_norm",
577
+ "model.language_model.layers.58.input_layernorm",
578
+ "model.language_model.layers.58.layer_scalar",
579
+ "model.language_model.layers.58.post_attention_layernorm",
580
+ "model.language_model.layers.58.post_feedforward_layernorm",
581
+ "model.language_model.layers.58.pre_feedforward_layernorm",
582
+ "model.language_model.layers.58.self_attn.k_norm",
583
+ "model.language_model.layers.58.self_attn.q_norm",
584
+ "model.language_model.layers.59.input_layernorm",
585
+ "model.language_model.layers.59.layer_scalar",
586
+ "model.language_model.layers.59.post_attention_layernorm",
587
+ "model.language_model.layers.59.post_feedforward_layernorm",
588
+ "model.language_model.layers.59.pre_feedforward_layernorm",
589
+ "model.language_model.layers.59.self_attn.k_norm",
590
+ "model.language_model.layers.59.self_attn.q_norm",
591
+ "model.language_model.layers.6.input_layernorm",
592
+ "model.language_model.layers.6.layer_scalar",
593
+ "model.language_model.layers.6.post_attention_layernorm",
594
+ "model.language_model.layers.6.post_feedforward_layernorm",
595
+ "model.language_model.layers.6.pre_feedforward_layernorm",
596
+ "model.language_model.layers.6.self_attn.k_norm",
597
+ "model.language_model.layers.6.self_attn.q_norm",
598
+ "model.language_model.layers.7.input_layernorm",
599
+ "model.language_model.layers.7.layer_scalar",
600
+ "model.language_model.layers.7.post_attention_layernorm",
601
+ "model.language_model.layers.7.post_feedforward_layernorm",
602
+ "model.language_model.layers.7.pre_feedforward_layernorm",
603
+ "model.language_model.layers.7.self_attn.k_norm",
604
+ "model.language_model.layers.7.self_attn.q_norm",
605
+ "model.language_model.layers.8.input_layernorm",
606
+ "model.language_model.layers.8.layer_scalar",
607
+ "model.language_model.layers.8.post_attention_layernorm",
608
+ "model.language_model.layers.8.post_feedforward_layernorm",
609
+ "model.language_model.layers.8.pre_feedforward_layernorm",
610
+ "model.language_model.layers.8.self_attn.k_norm",
611
+ "model.language_model.layers.8.self_attn.q_norm",
612
+ "model.language_model.layers.9.input_layernorm",
613
+ "model.language_model.layers.9.layer_scalar",
614
+ "model.language_model.layers.9.post_attention_layernorm",
615
+ "model.language_model.layers.9.post_feedforward_layernorm",
616
+ "model.language_model.layers.9.pre_feedforward_layernorm",
617
+ "model.language_model.layers.9.self_attn.k_norm",
618
+ "model.language_model.layers.9.self_attn.q_norm",
619
+ "model.language_model.norm",
620
+ "model.vision_tower.encoder.layers.0.input_layernorm",
621
+ "model.vision_tower.encoder.layers.0.mlp.down_proj.linear",
622
+ "model.vision_tower.encoder.layers.0.mlp.gate_proj.linear",
623
+ "model.vision_tower.encoder.layers.0.mlp.up_proj.linear",
624
+ "model.vision_tower.encoder.layers.0.post_attention_layernorm",
625
+ "model.vision_tower.encoder.layers.0.post_feedforward_layernorm",
626
+ "model.vision_tower.encoder.layers.0.pre_feedforward_layernorm",
627
+ "model.vision_tower.encoder.layers.0.self_attn.k_norm",
628
+ "model.vision_tower.encoder.layers.0.self_attn.k_proj.linear",
629
+ "model.vision_tower.encoder.layers.0.self_attn.o_proj.linear",
630
+ "model.vision_tower.encoder.layers.0.self_attn.q_norm",
631
+ "model.vision_tower.encoder.layers.0.self_attn.q_proj.linear",
632
+ "model.vision_tower.encoder.layers.0.self_attn.v_proj.linear",
633
+ "model.vision_tower.encoder.layers.1.input_layernorm",
634
+ "model.vision_tower.encoder.layers.1.mlp.down_proj.linear",
635
+ "model.vision_tower.encoder.layers.1.mlp.gate_proj.linear",
636
+ "model.vision_tower.encoder.layers.1.mlp.up_proj.linear",
637
+ "model.vision_tower.encoder.layers.1.post_attention_layernorm",
638
+ "model.vision_tower.encoder.layers.1.post_feedforward_layernorm",
639
+ "model.vision_tower.encoder.layers.1.pre_feedforward_layernorm",
640
+ "model.vision_tower.encoder.layers.1.self_attn.k_norm",
641
+ "model.vision_tower.encoder.layers.1.self_attn.k_proj.linear",
642
+ "model.vision_tower.encoder.layers.1.self_attn.o_proj.linear",
643
+ "model.vision_tower.encoder.layers.1.self_attn.q_norm",
644
+ "model.vision_tower.encoder.layers.1.self_attn.q_proj.linear",
645
+ "model.vision_tower.encoder.layers.1.self_attn.v_proj.linear",
646
+ "model.vision_tower.encoder.layers.10.input_layernorm",
647
+ "model.vision_tower.encoder.layers.10.mlp.down_proj.linear",
648
+ "model.vision_tower.encoder.layers.10.mlp.gate_proj.linear",
649
+ "model.vision_tower.encoder.layers.10.mlp.up_proj.linear",
650
+ "model.vision_tower.encoder.layers.10.post_attention_layernorm",
651
+ "model.vision_tower.encoder.layers.10.post_feedforward_layernorm",
652
+ "model.vision_tower.encoder.layers.10.pre_feedforward_layernorm",
653
+ "model.vision_tower.encoder.layers.10.self_attn.k_norm",
654
+ "model.vision_tower.encoder.layers.10.self_attn.k_proj.linear",
655
+ "model.vision_tower.encoder.layers.10.self_attn.o_proj.linear",
656
+ "model.vision_tower.encoder.layers.10.self_attn.q_norm",
657
+ "model.vision_tower.encoder.layers.10.self_attn.q_proj.linear",
658
+ "model.vision_tower.encoder.layers.10.self_attn.v_proj.linear",
659
+ "model.vision_tower.encoder.layers.11.input_layernorm",
660
+ "model.vision_tower.encoder.layers.11.mlp.down_proj.linear",
661
+ "model.vision_tower.encoder.layers.11.mlp.gate_proj.linear",
662
+ "model.vision_tower.encoder.layers.11.mlp.up_proj.linear",
663
+ "model.vision_tower.encoder.layers.11.post_attention_layernorm",
664
+ "model.vision_tower.encoder.layers.11.post_feedforward_layernorm",
665
+ "model.vision_tower.encoder.layers.11.pre_feedforward_layernorm",
666
+ "model.vision_tower.encoder.layers.11.self_attn.k_norm",
667
+ "model.vision_tower.encoder.layers.11.self_attn.k_proj.linear",
668
+ "model.vision_tower.encoder.layers.11.self_attn.o_proj.linear",
669
+ "model.vision_tower.encoder.layers.11.self_attn.q_norm",
670
+ "model.vision_tower.encoder.layers.11.self_attn.q_proj.linear",
671
+ "model.vision_tower.encoder.layers.11.self_attn.v_proj.linear",
672
+ "model.vision_tower.encoder.layers.12.input_layernorm",
673
+ "model.vision_tower.encoder.layers.12.mlp.down_proj.linear",
674
+ "model.vision_tower.encoder.layers.12.mlp.gate_proj.linear",
675
+ "model.vision_tower.encoder.layers.12.mlp.up_proj.linear",
676
+ "model.vision_tower.encoder.layers.12.post_attention_layernorm",
677
+ "model.vision_tower.encoder.layers.12.post_feedforward_layernorm",
678
+ "model.vision_tower.encoder.layers.12.pre_feedforward_layernorm",
679
+ "model.vision_tower.encoder.layers.12.self_attn.k_norm",
680
+ "model.vision_tower.encoder.layers.12.self_attn.k_proj.linear",
681
+ "model.vision_tower.encoder.layers.12.self_attn.o_proj.linear",
682
+ "model.vision_tower.encoder.layers.12.self_attn.q_norm",
683
+ "model.vision_tower.encoder.layers.12.self_attn.q_proj.linear",
684
+ "model.vision_tower.encoder.layers.12.self_attn.v_proj.linear",
685
+ "model.vision_tower.encoder.layers.13.input_layernorm",
686
+ "model.vision_tower.encoder.layers.13.mlp.down_proj.linear",
687
+ "model.vision_tower.encoder.layers.13.mlp.gate_proj.linear",
688
+ "model.vision_tower.encoder.layers.13.mlp.up_proj.linear",
689
+ "model.vision_tower.encoder.layers.13.post_attention_layernorm",
690
+ "model.vision_tower.encoder.layers.13.post_feedforward_layernorm",
691
+ "model.vision_tower.encoder.layers.13.pre_feedforward_layernorm",
692
+ "model.vision_tower.encoder.layers.13.self_attn.k_norm",
693
+ "model.vision_tower.encoder.layers.13.self_attn.k_proj.linear",
694
+ "model.vision_tower.encoder.layers.13.self_attn.o_proj.linear",
695
+ "model.vision_tower.encoder.layers.13.self_attn.q_norm",
696
+ "model.vision_tower.encoder.layers.13.self_attn.q_proj.linear",
697
+ "model.vision_tower.encoder.layers.13.self_attn.v_proj.linear",
698
+ "model.vision_tower.encoder.layers.14.input_layernorm",
699
+ "model.vision_tower.encoder.layers.14.mlp.down_proj.linear",
700
+ "model.vision_tower.encoder.layers.14.mlp.gate_proj.linear",
701
+ "model.vision_tower.encoder.layers.14.mlp.up_proj.linear",
702
+ "model.vision_tower.encoder.layers.14.post_attention_layernorm",
703
+ "model.vision_tower.encoder.layers.14.post_feedforward_layernorm",
704
+ "model.vision_tower.encoder.layers.14.pre_feedforward_layernorm",
705
+ "model.vision_tower.encoder.layers.14.self_attn.k_norm",
706
+ "model.vision_tower.encoder.layers.14.self_attn.k_proj.linear",
707
+ "model.vision_tower.encoder.layers.14.self_attn.o_proj.linear",
708
+ "model.vision_tower.encoder.layers.14.self_attn.q_norm",
709
+ "model.vision_tower.encoder.layers.14.self_attn.q_proj.linear",
710
+ "model.vision_tower.encoder.layers.14.self_attn.v_proj.linear",
711
+ "model.vision_tower.encoder.layers.15.input_layernorm",
712
+ "model.vision_tower.encoder.layers.15.mlp.down_proj.linear",
713
+ "model.vision_tower.encoder.layers.15.mlp.gate_proj.linear",
714
+ "model.vision_tower.encoder.layers.15.mlp.up_proj.linear",
715
+ "model.vision_tower.encoder.layers.15.post_attention_layernorm",
716
+ "model.vision_tower.encoder.layers.15.post_feedforward_layernorm",
717
+ "model.vision_tower.encoder.layers.15.pre_feedforward_layernorm",
718
+ "model.vision_tower.encoder.layers.15.self_attn.k_norm",
719
+ "model.vision_tower.encoder.layers.15.self_attn.k_proj.linear",
720
+ "model.vision_tower.encoder.layers.15.self_attn.o_proj.linear",
721
+ "model.vision_tower.encoder.layers.15.self_attn.q_norm",
722
+ "model.vision_tower.encoder.layers.15.self_attn.q_proj.linear",
723
+ "model.vision_tower.encoder.layers.15.self_attn.v_proj.linear",
724
+ "model.vision_tower.encoder.layers.16.input_layernorm",
725
+ "model.vision_tower.encoder.layers.16.mlp.down_proj.linear",
726
+ "model.vision_tower.encoder.layers.16.mlp.gate_proj.linear",
727
+ "model.vision_tower.encoder.layers.16.mlp.up_proj.linear",
728
+ "model.vision_tower.encoder.layers.16.post_attention_layernorm",
729
+ "model.vision_tower.encoder.layers.16.post_feedforward_layernorm",
730
+ "model.vision_tower.encoder.layers.16.pre_feedforward_layernorm",
731
+ "model.vision_tower.encoder.layers.16.self_attn.k_norm",
732
+ "model.vision_tower.encoder.layers.16.self_attn.k_proj.linear",
733
+ "model.vision_tower.encoder.layers.16.self_attn.o_proj.linear",
734
+ "model.vision_tower.encoder.layers.16.self_attn.q_norm",
735
+ "model.vision_tower.encoder.layers.16.self_attn.q_proj.linear",
736
+ "model.vision_tower.encoder.layers.16.self_attn.v_proj.linear",
737
+ "model.vision_tower.encoder.layers.17.input_layernorm",
738
+ "model.vision_tower.encoder.layers.17.mlp.down_proj.linear",
739
+ "model.vision_tower.encoder.layers.17.mlp.gate_proj.linear",
740
+ "model.vision_tower.encoder.layers.17.mlp.up_proj.linear",
741
+ "model.vision_tower.encoder.layers.17.post_attention_layernorm",
742
+ "model.vision_tower.encoder.layers.17.post_feedforward_layernorm",
743
+ "model.vision_tower.encoder.layers.17.pre_feedforward_layernorm",
744
+ "model.vision_tower.encoder.layers.17.self_attn.k_norm",
745
+ "model.vision_tower.encoder.layers.17.self_attn.k_proj.linear",
746
+ "model.vision_tower.encoder.layers.17.self_attn.o_proj.linear",
747
+ "model.vision_tower.encoder.layers.17.self_attn.q_norm",
748
+ "model.vision_tower.encoder.layers.17.self_attn.q_proj.linear",
749
+ "model.vision_tower.encoder.layers.17.self_attn.v_proj.linear",
750
+ "model.vision_tower.encoder.layers.18.input_layernorm",
751
+ "model.vision_tower.encoder.layers.18.mlp.down_proj.linear",
752
+ "model.vision_tower.encoder.layers.18.mlp.gate_proj.linear",
753
+ "model.vision_tower.encoder.layers.18.mlp.up_proj.linear",
754
+ "model.vision_tower.encoder.layers.18.post_attention_layernorm",
755
+ "model.vision_tower.encoder.layers.18.post_feedforward_layernorm",
756
+ "model.vision_tower.encoder.layers.18.pre_feedforward_layernorm",
757
+ "model.vision_tower.encoder.layers.18.self_attn.k_norm",
758
+ "model.vision_tower.encoder.layers.18.self_attn.k_proj.linear",
759
+ "model.vision_tower.encoder.layers.18.self_attn.o_proj.linear",
760
+ "model.vision_tower.encoder.layers.18.self_attn.q_norm",
761
+ "model.vision_tower.encoder.layers.18.self_attn.q_proj.linear",
762
+ "model.vision_tower.encoder.layers.18.self_attn.v_proj.linear",
763
+ "model.vision_tower.encoder.layers.19.input_layernorm",
764
+ "model.vision_tower.encoder.layers.19.mlp.down_proj.linear",
765
+ "model.vision_tower.encoder.layers.19.mlp.gate_proj.linear",
766
+ "model.vision_tower.encoder.layers.19.mlp.up_proj.linear",
767
+ "model.vision_tower.encoder.layers.19.post_attention_layernorm",
768
+ "model.vision_tower.encoder.layers.19.post_feedforward_layernorm",
769
+ "model.vision_tower.encoder.layers.19.pre_feedforward_layernorm",
770
+ "model.vision_tower.encoder.layers.19.self_attn.k_norm",
771
+ "model.vision_tower.encoder.layers.19.self_attn.k_proj.linear",
772
+ "model.vision_tower.encoder.layers.19.self_attn.o_proj.linear",
773
+ "model.vision_tower.encoder.layers.19.self_attn.q_norm",
774
+ "model.vision_tower.encoder.layers.19.self_attn.q_proj.linear",
775
+ "model.vision_tower.encoder.layers.19.self_attn.v_proj.linear",
776
+ "model.vision_tower.encoder.layers.2.input_layernorm",
777
+ "model.vision_tower.encoder.layers.2.mlp.down_proj.linear",
778
+ "model.vision_tower.encoder.layers.2.mlp.gate_proj.linear",
779
+ "model.vision_tower.encoder.layers.2.mlp.up_proj.linear",
780
+ "model.vision_tower.encoder.layers.2.post_attention_layernorm",
781
+ "model.vision_tower.encoder.layers.2.post_feedforward_layernorm",
782
+ "model.vision_tower.encoder.layers.2.pre_feedforward_layernorm",
783
+ "model.vision_tower.encoder.layers.2.self_attn.k_norm",
784
+ "model.vision_tower.encoder.layers.2.self_attn.k_proj.linear",
785
+ "model.vision_tower.encoder.layers.2.self_attn.o_proj.linear",
786
+ "model.vision_tower.encoder.layers.2.self_attn.q_norm",
787
+ "model.vision_tower.encoder.layers.2.self_attn.q_proj.linear",
788
+ "model.vision_tower.encoder.layers.2.self_attn.v_proj.linear",
789
+ "model.vision_tower.encoder.layers.20.input_layernorm",
790
+ "model.vision_tower.encoder.layers.20.mlp.down_proj.linear",
791
+ "model.vision_tower.encoder.layers.20.mlp.gate_proj.linear",
792
+ "model.vision_tower.encoder.layers.20.mlp.up_proj.linear",
793
+ "model.vision_tower.encoder.layers.20.post_attention_layernorm",
794
+ "model.vision_tower.encoder.layers.20.post_feedforward_layernorm",
795
+ "model.vision_tower.encoder.layers.20.pre_feedforward_layernorm",
796
+ "model.vision_tower.encoder.layers.20.self_attn.k_norm",
797
+ "model.vision_tower.encoder.layers.20.self_attn.k_proj.linear",
798
+ "model.vision_tower.encoder.layers.20.self_attn.o_proj.linear",
799
+ "model.vision_tower.encoder.layers.20.self_attn.q_norm",
800
+ "model.vision_tower.encoder.layers.20.self_attn.q_proj.linear",
801
+ "model.vision_tower.encoder.layers.20.self_attn.v_proj.linear",
802
+ "model.vision_tower.encoder.layers.21.input_layernorm",
803
+ "model.vision_tower.encoder.layers.21.mlp.down_proj.linear",
804
+ "model.vision_tower.encoder.layers.21.mlp.gate_proj.linear",
805
+ "model.vision_tower.encoder.layers.21.mlp.up_proj.linear",
806
+ "model.vision_tower.encoder.layers.21.post_attention_layernorm",
807
+ "model.vision_tower.encoder.layers.21.post_feedforward_layernorm",
808
+ "model.vision_tower.encoder.layers.21.pre_feedforward_layernorm",
809
+ "model.vision_tower.encoder.layers.21.self_attn.k_norm",
810
+ "model.vision_tower.encoder.layers.21.self_attn.k_proj.linear",
811
+ "model.vision_tower.encoder.layers.21.self_attn.o_proj.linear",
812
+ "model.vision_tower.encoder.layers.21.self_attn.q_norm",
813
+ "model.vision_tower.encoder.layers.21.self_attn.q_proj.linear",
814
+ "model.vision_tower.encoder.layers.21.self_attn.v_proj.linear",
815
+ "model.vision_tower.encoder.layers.22.input_layernorm",
816
+ "model.vision_tower.encoder.layers.22.mlp.down_proj.linear",
817
+ "model.vision_tower.encoder.layers.22.mlp.gate_proj.linear",
818
+ "model.vision_tower.encoder.layers.22.mlp.up_proj.linear",
819
+ "model.vision_tower.encoder.layers.22.post_attention_layernorm",
820
+ "model.vision_tower.encoder.layers.22.post_feedforward_layernorm",
821
+ "model.vision_tower.encoder.layers.22.pre_feedforward_layernorm",
822
+ "model.vision_tower.encoder.layers.22.self_attn.k_norm",
823
+ "model.vision_tower.encoder.layers.22.self_attn.k_proj.linear",
824
+ "model.vision_tower.encoder.layers.22.self_attn.o_proj.linear",
825
+ "model.vision_tower.encoder.layers.22.self_attn.q_norm",
826
+ "model.vision_tower.encoder.layers.22.self_attn.q_proj.linear",
827
+ "model.vision_tower.encoder.layers.22.self_attn.v_proj.linear",
828
+ "model.vision_tower.encoder.layers.23.input_layernorm",
829
+ "model.vision_tower.encoder.layers.23.mlp.down_proj.linear",
830
+ "model.vision_tower.encoder.layers.23.mlp.gate_proj.linear",
831
+ "model.vision_tower.encoder.layers.23.mlp.up_proj.linear",
832
+ "model.vision_tower.encoder.layers.23.post_attention_layernorm",
833
+ "model.vision_tower.encoder.layers.23.post_feedforward_layernorm",
834
+ "model.vision_tower.encoder.layers.23.pre_feedforward_layernorm",
835
+ "model.vision_tower.encoder.layers.23.self_attn.k_norm",
836
+ "model.vision_tower.encoder.layers.23.self_attn.k_proj.linear",
837
+ "model.vision_tower.encoder.layers.23.self_attn.o_proj.linear",
838
+ "model.vision_tower.encoder.layers.23.self_attn.q_norm",
839
+ "model.vision_tower.encoder.layers.23.self_attn.q_proj.linear",
840
+ "model.vision_tower.encoder.layers.23.self_attn.v_proj.linear",
841
+ "model.vision_tower.encoder.layers.24.input_layernorm",
842
+ "model.vision_tower.encoder.layers.24.mlp.down_proj.linear",
843
+ "model.vision_tower.encoder.layers.24.mlp.gate_proj.linear",
844
+ "model.vision_tower.encoder.layers.24.mlp.up_proj.linear",
845
+ "model.vision_tower.encoder.layers.24.post_attention_layernorm",
846
+ "model.vision_tower.encoder.layers.24.post_feedforward_layernorm",
847
+ "model.vision_tower.encoder.layers.24.pre_feedforward_layernorm",
848
+ "model.vision_tower.encoder.layers.24.self_attn.k_norm",
849
+ "model.vision_tower.encoder.layers.24.self_attn.k_proj.linear",
850
+ "model.vision_tower.encoder.layers.24.self_attn.o_proj.linear",
851
+ "model.vision_tower.encoder.layers.24.self_attn.q_norm",
852
+ "model.vision_tower.encoder.layers.24.self_attn.q_proj.linear",
853
+ "model.vision_tower.encoder.layers.24.self_attn.v_proj.linear",
854
+ "model.vision_tower.encoder.layers.25.input_layernorm",
855
+ "model.vision_tower.encoder.layers.25.mlp.down_proj.linear",
856
+ "model.vision_tower.encoder.layers.25.mlp.gate_proj.linear",
857
+ "model.vision_tower.encoder.layers.25.mlp.up_proj.linear",
858
+ "model.vision_tower.encoder.layers.25.post_attention_layernorm",
859
+ "model.vision_tower.encoder.layers.25.post_feedforward_layernorm",
860
+ "model.vision_tower.encoder.layers.25.pre_feedforward_layernorm",
861
+ "model.vision_tower.encoder.layers.25.self_attn.k_norm",
862
+ "model.vision_tower.encoder.layers.25.self_attn.k_proj.linear",
863
+ "model.vision_tower.encoder.layers.25.self_attn.o_proj.linear",
864
+ "model.vision_tower.encoder.layers.25.self_attn.q_norm",
865
+ "model.vision_tower.encoder.layers.25.self_attn.q_proj.linear",
866
+ "model.vision_tower.encoder.layers.25.self_attn.v_proj.linear",
867
+ "model.vision_tower.encoder.layers.26.input_layernorm",
868
+ "model.vision_tower.encoder.layers.26.mlp.down_proj.linear",
869
+ "model.vision_tower.encoder.layers.26.mlp.gate_proj.linear",
870
+ "model.vision_tower.encoder.layers.26.mlp.up_proj.linear",
871
+ "model.vision_tower.encoder.layers.26.post_attention_layernorm",
872
+ "model.vision_tower.encoder.layers.26.post_feedforward_layernorm",
873
+ "model.vision_tower.encoder.layers.26.pre_feedforward_layernorm",
874
+ "model.vision_tower.encoder.layers.26.self_attn.k_norm",
875
+ "model.vision_tower.encoder.layers.26.self_attn.k_proj.linear",
876
+ "model.vision_tower.encoder.layers.26.self_attn.o_proj.linear",
877
+ "model.vision_tower.encoder.layers.26.self_attn.q_norm",
878
+ "model.vision_tower.encoder.layers.26.self_attn.q_proj.linear",
879
+ "model.vision_tower.encoder.layers.26.self_attn.v_proj.linear",
880
+ "model.vision_tower.encoder.layers.3.input_layernorm",
881
+ "model.vision_tower.encoder.layers.3.mlp.down_proj.linear",
882
+ "model.vision_tower.encoder.layers.3.mlp.gate_proj.linear",
883
+ "model.vision_tower.encoder.layers.3.mlp.up_proj.linear",
884
+ "model.vision_tower.encoder.layers.3.post_attention_layernorm",
885
+ "model.vision_tower.encoder.layers.3.post_feedforward_layernorm",
886
+ "model.vision_tower.encoder.layers.3.pre_feedforward_layernorm",
887
+ "model.vision_tower.encoder.layers.3.self_attn.k_norm",
888
+ "model.vision_tower.encoder.layers.3.self_attn.k_proj.linear",
889
+ "model.vision_tower.encoder.layers.3.self_attn.o_proj.linear",
890
+ "model.vision_tower.encoder.layers.3.self_attn.q_norm",
891
+ "model.vision_tower.encoder.layers.3.self_attn.q_proj.linear",
892
+ "model.vision_tower.encoder.layers.3.self_attn.v_proj.linear",
893
+ "model.vision_tower.encoder.layers.4.input_layernorm",
894
+ "model.vision_tower.encoder.layers.4.mlp.down_proj.linear",
895
+ "model.vision_tower.encoder.layers.4.mlp.gate_proj.linear",
896
+ "model.vision_tower.encoder.layers.4.mlp.up_proj.linear",
897
+ "model.vision_tower.encoder.layers.4.post_attention_layernorm",
898
+ "model.vision_tower.encoder.layers.4.post_feedforward_layernorm",
899
+ "model.vision_tower.encoder.layers.4.pre_feedforward_layernorm",
900
+ "model.vision_tower.encoder.layers.4.self_attn.k_norm",
901
+ "model.vision_tower.encoder.layers.4.self_attn.k_proj.linear",
902
+ "model.vision_tower.encoder.layers.4.self_attn.o_proj.linear",
903
+ "model.vision_tower.encoder.layers.4.self_attn.q_norm",
904
+ "model.vision_tower.encoder.layers.4.self_attn.q_proj.linear",
905
+ "model.vision_tower.encoder.layers.4.self_attn.v_proj.linear",
906
+ "model.vision_tower.encoder.layers.5.input_layernorm",
907
+ "model.vision_tower.encoder.layers.5.mlp.down_proj.linear",
908
+ "model.vision_tower.encoder.layers.5.mlp.gate_proj.linear",
909
+ "model.vision_tower.encoder.layers.5.mlp.up_proj.linear",
910
+ "model.vision_tower.encoder.layers.5.post_attention_layernorm",
911
+ "model.vision_tower.encoder.layers.5.post_feedforward_layernorm",
912
+ "model.vision_tower.encoder.layers.5.pre_feedforward_layernorm",
913
+ "model.vision_tower.encoder.layers.5.self_attn.k_norm",
914
+ "model.vision_tower.encoder.layers.5.self_attn.k_proj.linear",
915
+ "model.vision_tower.encoder.layers.5.self_attn.o_proj.linear",
916
+ "model.vision_tower.encoder.layers.5.self_attn.q_norm",
917
+ "model.vision_tower.encoder.layers.5.self_attn.q_proj.linear",
918
+ "model.vision_tower.encoder.layers.5.self_attn.v_proj.linear",
919
+ "model.vision_tower.encoder.layers.6.input_layernorm",
920
+ "model.vision_tower.encoder.layers.6.mlp.down_proj.linear",
921
+ "model.vision_tower.encoder.layers.6.mlp.gate_proj.linear",
922
+ "model.vision_tower.encoder.layers.6.mlp.up_proj.linear",
923
+ "model.vision_tower.encoder.layers.6.post_attention_layernorm",
924
+ "model.vision_tower.encoder.layers.6.post_feedforward_layernorm",
925
+ "model.vision_tower.encoder.layers.6.pre_feedforward_layernorm",
926
+ "model.vision_tower.encoder.layers.6.self_attn.k_norm",
927
+ "model.vision_tower.encoder.layers.6.self_attn.k_proj.linear",
928
+ "model.vision_tower.encoder.layers.6.self_attn.o_proj.linear",
929
+ "model.vision_tower.encoder.layers.6.self_attn.q_norm",
930
+ "model.vision_tower.encoder.layers.6.self_attn.q_proj.linear",
931
+ "model.vision_tower.encoder.layers.6.self_attn.v_proj.linear",
932
+ "model.vision_tower.encoder.layers.7.input_layernorm",
933
+ "model.vision_tower.encoder.layers.7.mlp.down_proj.linear",
934
+ "model.vision_tower.encoder.layers.7.mlp.gate_proj.linear",
935
+ "model.vision_tower.encoder.layers.7.mlp.up_proj.linear",
936
+ "model.vision_tower.encoder.layers.7.post_attention_layernorm",
937
+ "model.vision_tower.encoder.layers.7.post_feedforward_layernorm",
938
+ "model.vision_tower.encoder.layers.7.pre_feedforward_layernorm",
939
+ "model.vision_tower.encoder.layers.7.self_attn.k_norm",
940
+ "model.vision_tower.encoder.layers.7.self_attn.k_proj.linear",
941
+ "model.vision_tower.encoder.layers.7.self_attn.o_proj.linear",
942
+ "model.vision_tower.encoder.layers.7.self_attn.q_norm",
943
+ "model.vision_tower.encoder.layers.7.self_attn.q_proj.linear",
944
+ "model.vision_tower.encoder.layers.7.self_attn.v_proj.linear",
945
+ "model.vision_tower.encoder.layers.8.input_layernorm",
946
+ "model.vision_tower.encoder.layers.8.mlp.down_proj.linear",
947
+ "model.vision_tower.encoder.layers.8.mlp.gate_proj.linear",
948
+ "model.vision_tower.encoder.layers.8.mlp.up_proj.linear",
949
+ "model.vision_tower.encoder.layers.8.post_attention_layernorm",
950
+ "model.vision_tower.encoder.layers.8.post_feedforward_layernorm",
951
+ "model.vision_tower.encoder.layers.8.pre_feedforward_layernorm",
952
+ "model.vision_tower.encoder.layers.8.self_attn.k_norm",
953
+ "model.vision_tower.encoder.layers.8.self_attn.k_proj.linear",
954
+ "model.vision_tower.encoder.layers.8.self_attn.o_proj.linear",
955
+ "model.vision_tower.encoder.layers.8.self_attn.q_norm",
956
+ "model.vision_tower.encoder.layers.8.self_attn.q_proj.linear",
957
+ "model.vision_tower.encoder.layers.8.self_attn.v_proj.linear",
958
+ "model.vision_tower.encoder.layers.9.input_layernorm",
959
+ "model.vision_tower.encoder.layers.9.mlp.down_proj.linear",
960
+ "model.vision_tower.encoder.layers.9.mlp.gate_proj.linear",
961
+ "model.vision_tower.encoder.layers.9.mlp.up_proj.linear",
962
+ "model.vision_tower.encoder.layers.9.post_attention_layernorm",
963
+ "model.vision_tower.encoder.layers.9.post_feedforward_layernorm",
964
+ "model.vision_tower.encoder.layers.9.pre_feedforward_layernorm",
965
+ "model.vision_tower.encoder.layers.9.self_attn.k_norm",
966
+ "model.vision_tower.encoder.layers.9.self_attn.k_proj.linear",
967
+ "model.vision_tower.encoder.layers.9.self_attn.o_proj.linear",
968
+ "model.vision_tower.encoder.layers.9.self_attn.q_norm",
969
+ "model.vision_tower.encoder.layers.9.self_attn.q_proj.linear",
970
+ "model.vision_tower.encoder.layers.9.self_attn.v_proj.linear",
971
+ "model.vision_tower.patch_embedder.input_proj",
972
+ "model.vision_tower.patch_embedder.position_embedding_table",
973
+ "model.vision_tower.std_bias",
974
+ "model.vision_tower.std_scale"
975
+ ],
976
+ "kv_cache_scheme": null
977
+ }
978
+ }
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 2,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 1,
6
+ 106,
7
+ 50
8
+ ],
9
+ "pad_token_id": 0,
10
+ "temperature": 0.9,
11
+ "top_k": 0,
12
+ "top_p": 0.95,
13
+ "transformers_version": "5.8.0"
14
+ }
merge_scale_info.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ Base Scale (alpha/r or RS-LoRA): 2.0
2
+ Multiplier Applied: 1.0
3
+ Final Merge Scale: 2.0
model-00001-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fc4b8cb8d5e655139446e87ff1982a8132e2eb6c61531c01942a0c8c55584b6
3
+ size 26391764282
model-00002-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab85fb85922268d968830f45335ebf5f723db0ff4f717a34ecb94fb5334b3155
3
+ size 6884813798
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
processor_config.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "audio_ms_per_token": 40,
3
+ "audio_seq_length": 750,
4
+ "feature_extractor": {
5
+ "dither": 0.0,
6
+ "feature_extractor_type": "Gemma4AudioFeatureExtractor",
7
+ "feature_size": 128,
8
+ "fft_length": 512,
9
+ "fft_overdrive": false,
10
+ "frame_length": 320,
11
+ "hop_length": 160,
12
+ "input_scale_factor": 1.0,
13
+ "max_frequency": 8000.0,
14
+ "mel_floor": 0.001,
15
+ "min_frequency": 0.0,
16
+ "padding_side": "right",
17
+ "padding_value": 0.0,
18
+ "per_bin_mean": null,
19
+ "per_bin_stddev": null,
20
+ "preemphasis": 0.0,
21
+ "preemphasis_htk_flavor": true,
22
+ "return_attention_mask": true,
23
+ "sampling_rate": 16000
24
+ },
25
+ "image_processor": {
26
+ "do_convert_rgb": true,
27
+ "do_normalize": false,
28
+ "do_rescale": true,
29
+ "do_resize": true,
30
+ "image_mean": [
31
+ 0.0,
32
+ 0.0,
33
+ 0.0
34
+ ],
35
+ "image_processor_type": "Gemma4ImageProcessor",
36
+ "image_seq_length": 280,
37
+ "image_std": [
38
+ 1.0,
39
+ 1.0,
40
+ 1.0
41
+ ],
42
+ "max_soft_tokens": 280,
43
+ "patch_size": 16,
44
+ "pooling_kernel_size": 3,
45
+ "resample": 3,
46
+ "rescale_factor": 0.00392156862745098
47
+ },
48
+ "image_seq_length": 280,
49
+ "processor_class": "Gemma4Processor",
50
+ "video_processor": {
51
+ "do_convert_rgb": true,
52
+ "do_normalize": true,
53
+ "do_rescale": true,
54
+ "do_resize": true,
55
+ "do_sample_frames": true,
56
+ "image_mean": [
57
+ 0.0,
58
+ 0.0,
59
+ 0.0
60
+ ],
61
+ "image_std": [
62
+ 1.0,
63
+ 1.0,
64
+ 1.0
65
+ ],
66
+ "max_soft_tokens": 70,
67
+ "num_frames": 32,
68
+ "patch_size": 16,
69
+ "pooling_kernel_size": 3,
70
+ "resample": 3,
71
+ "rescale_factor": 0.00392156862745098,
72
+ "return_metadata": false,
73
+ "video_processor_type": "Gemma4VideoProcessor"
74
+ }
75
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f
3
+ size 32169626
tokenizer_config.json ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "audio_token": "<|audio|>",
3
+ "backend": "tokenizers",
4
+ "boa_token": "<|audio>",
5
+ "boi_token": "<|image>",
6
+ "bos_token": "<bos>",
7
+ "eoa_token": "<audio|>",
8
+ "eoc_token": "<channel|>",
9
+ "eoi_token": "<image|>",
10
+ "eos_token": "<eos>",
11
+ "eot_token": "<turn|>",
12
+ "escape_token": "<|\"|>",
13
+ "etc_token": "<tool_call|>",
14
+ "etd_token": "<tool|>",
15
+ "etr_token": "<tool_response|>",
16
+ "extra_special_tokens": [
17
+ "<|video|>"
18
+ ],
19
+ "image_token": "<|image|>",
20
+ "is_local": true,
21
+ "local_files_only": false,
22
+ "mask_token": "<mask>",
23
+ "model_max_length": 1000000000000000019884624838656,
24
+ "model_specific_special_tokens": {
25
+ "audio_token": "<|audio|>",
26
+ "boa_token": "<|audio>",
27
+ "boi_token": "<|image>",
28
+ "eoa_token": "<audio|>",
29
+ "eoc_token": "<channel|>",
30
+ "eoi_token": "<image|>",
31
+ "eot_token": "<turn|>",
32
+ "escape_token": "<|\"|>",
33
+ "etc_token": "<tool_call|>",
34
+ "etd_token": "<tool|>",
35
+ "etr_token": "<tool_response|>",
36
+ "image_token": "<|image|>",
37
+ "soc_token": "<|channel>",
38
+ "sot_token": "<|turn>",
39
+ "stc_token": "<|tool_call>",
40
+ "std_token": "<|tool>",
41
+ "str_token": "<|tool_response>",
42
+ "think_token": "<|think|>"
43
+ },
44
+ "pad_token": "<pad>",
45
+ "padding_side": "left",
46
+ "processor_class": "Gemma4Processor",
47
+ "response_schema": {
48
+ "properties": {
49
+ "content": {
50
+ "type": "string"
51
+ },
52
+ "role": {
53
+ "const": "assistant"
54
+ },
55
+ "thinking": {
56
+ "type": "string"
57
+ },
58
+ "tool_calls": {
59
+ "items": {
60
+ "properties": {
61
+ "function": {
62
+ "properties": {
63
+ "arguments": {
64
+ "additionalProperties": {},
65
+ "type": "object",
66
+ "x-parser": "gemma4-tool-call"
67
+ },
68
+ "name": {
69
+ "type": "string"
70
+ }
71
+ },
72
+ "type": "object",
73
+ "x-regex": "call\\:(?P<name>\\w+)(?P<arguments>\\{.*\\})"
74
+ },
75
+ "type": {
76
+ "const": "function"
77
+ }
78
+ },
79
+ "type": "object"
80
+ },
81
+ "type": "array",
82
+ "x-regex-iterator": "<\\|tool_call>(.*?)<tool_call\\|>"
83
+ }
84
+ },
85
+ "type": "object",
86
+ "x-regex": "(\\<\\|channel\\>thought\\n(?P<thinking>.*?)\\<channel\\|\\>)?(?P<tool_calls>\\<\\|tool_call\\>.*\\<tool_call\\|\\>)?(?P<content>(?:(?!\\<turn\\|\\>)(?!\\<\\|tool_response\\>).)+)?(?:\\<turn\\|\\>|\\<\\|tool_response\\>)?"
87
+ },
88
+ "soc_token": "<|channel>",
89
+ "sot_token": "<|turn>",
90
+ "stc_token": "<|tool_call>",
91
+ "std_token": "<|tool>",
92
+ "str_token": "<|tool_response>",
93
+ "think_token": "<|think|>",
94
+ "tokenizer_class": "GemmaTokenizer",
95
+ "unk_token": "<unk>"
96
+ }