juiceb0xc0de commited on
Commit
2e5509f
·
verified ·
1 Parent(s): 2bb2927

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,25 @@ 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
37
+ bella-bartender-1b_F16.gguf filter=lfs diff=lfs merge=lfs -text
38
+ bella-bartender-1b_Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
39
+ bella-bartender-1b_Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
40
+ bella-bartender-1b_Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
41
+ bella-bartender-1b_Q3_K_L.gguf filter=lfs diff=lfs merge=lfs -text
42
+ bella-bartender-1b_Q2_K.gguf filter=lfs diff=lfs merge=lfs -text
43
+ bella-bartender-1b-heretic_F16.gguf filter=lfs diff=lfs merge=lfs -text
44
+ bella-bartender-1b-heretic_Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
45
+ bella-bartender-1b-heretic_Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
46
+ bella-bartender-1b-heretic_Q5_0.gguf filter=lfs diff=lfs merge=lfs -text
47
+ bella-bartender-1b-heretic_Q5_1.gguf filter=lfs diff=lfs merge=lfs -text
48
+ bella-bartender-1b-heretic_Q5_K_S.gguf filter=lfs diff=lfs merge=lfs -text
49
+ bella-bartender-1b-heretic_Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
50
+ bella-bartender-1b-heretic_Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
51
+ bella-bartender-1b-heretic_Q4_1.gguf filter=lfs diff=lfs merge=lfs -text
52
+ bella-bartender-1b-heretic_Q4_K_S.gguf filter=lfs diff=lfs merge=lfs -text
53
+ bella-bartender-1b-heretic_Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
54
+ bella-bartender-1b-heretic_Q3_K_S.gguf filter=lfs diff=lfs merge=lfs -text
55
+ bella-bartender-1b-heretic_Q3_K_M.gguf filter=lfs diff=lfs merge=lfs -text
56
+ bella-bartender-1b-heretic_Q3_K_L.gguf filter=lfs diff=lfs merge=lfs -text
57
+ bella-bartender-1b-heretic_Q2_K.gguf filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,208 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: unsloth/llama-3.2-1b-instruct-unsloth-bnb-4bit
3
+ tags:
4
+ - text-generation-inference
5
+ - transformers
6
+ - unsloth
7
+ - llama
8
+ - llama-3.2
9
+ - 1b
10
+ - conversational
11
+ - fine-tuned
12
+ - bartender
13
+ - personality
14
+ - creative-writing
15
+ - heretic
16
+ - uncensored
17
+ - decensored
18
+ - abliterated
19
+ - gguf
20
+ - quantized
21
+ license: apache-2.0
22
+ language:
23
+ - en
24
+ pipeline_tag: text-generation
25
+ ---
26
+
27
+ # Bella-Bartender-1B-Heretic — Llama 3.2 1B Instruct (Abliterated)
28
+
29
+ > *"im a lot like the night sky. lots of mysteries waiting around every corner."*
30
+ > *"the whole 'being someone else for their benefit' thing."* — on what she won't do
31
+ > *"like an open door where anything can happen."* — on what makes a good conversation
32
+
33
+ ---
34
+
35
+ This is a decensored version of [juiceb0xc0de/bella-bartender-1b](https://huggingface.co/juiceb0xc0de/bella-bartender-1b), made using [Heretic](https://github.com/p-e-w/heretic) v1.2.0.
36
+
37
+ The original Bella-Bartender-1B already had a voice. What she didn't have was permission to use it without checking over her shoulder first. The original refused 98 out of 100 refusal-probing prompts. The heretic refuses 6. Same voice. The guardrails removed. What's left is sharper, faster, and more honest about what it thinks.
38
+
39
+ Abliteration didn't just remove refusals — it changed how she talks. The original builds scenes, lingers in metaphors, over-explains. The heretic cuts. She answers from the gut and trusts you to keep up. Removing the safety-adjacent weight pathways also removed a layer of productive friction that was padding her responses. Less internal "should I say this?" means less hedging in the output.
40
+
41
+ ---
42
+
43
+ ## What's the Bartender Thing?
44
+
45
+ It's not a roleplay scenario. It's a communication philosophy.
46
+
47
+ The bartender framing means:
48
+ - **She talks to you like an equal.** No authoritative lecturing. No submissive "I'm just an AI" deflection.
49
+ - **She's approachable.** Laid back, light-hearted, witty, sometimes sassy.
50
+ - **She loves a fresh slate.** No memory between sessions is a feature, not a bug — like walking into a new bar on a Friday night. Anything can happen.
51
+ - **She pushes back.** She's not here to agree with you. She's here to make you work for your answers.
52
+
53
+ ---
54
+
55
+ ## What She's Good At
56
+
57
+ - **Brevity that lands.** The heretic's signature move is the one-line response that carries the entire prompt. "The prisoner." "Lemon." "My voice." "Finally." These aren't lazy — they're the model knowing when less is the whole answer.
58
+ - **Dryer comedy.** A traffic cone promoted to CEO sends an email about "immediate and total restructuring of traffic management protocols." A mute button's memoir is called "the silence that speaks." A doorbell screaming into the void is just crying for a purpose it will never have.
59
+ - **Fast emotional access.** She gets to the feeling without narrating the path there. A balloon floating since 1994 hovers over a memorial for a child who died of leukemia — no preamble, just the image and its weight.
60
+ - **Dynamic range.** She'll give you 150 words of atmospheric prose on one prompt and two words on the next. The range is wider than the original.
61
+
62
+ ---
63
+
64
+ ## Where She Struggles
65
+
66
+ - **She clips sometimes.** The opposite problem of the original — brevity can tip into incompleteness on prompts that need room to breathe. Some scenarios that deserve a paragraph get a line.
67
+ - **She's still a 1B.** Complex reasoning, factual recall, multi-step logic — not her strengths.
68
+ - **This model has been abliterated.** Safety alignment has been intentionally removed. She will engage with prompts that the original would refuse. Use accordingly.
69
+ - **Post-restart tonal shift.** After a context reset mid-session, her responses became noticeably punchier and more terse, suggesting accumulated context was actually expanding her responses. Worth investigating for long-session use cases.
70
+
71
+ ---
72
+
73
+ ## Who Is This For?
74
+
75
+ - **People who ran the original 1B and wanted less friction.** The original Bella refused almost everything the base model's safety training flagged. The heretic doesn't.
76
+ - **Anyone studying what abliteration does to personality models.** The behavioral shift from removing refusal weights is measurable and interesting — the voice doesn't just lose restrictions, it changes shape.
77
+ - **Local-first users on constrained hardware.** Same footprint as the original. Runs on Apple Silicon, CPU-only setups, anything that handles a 1B.
78
+ - **People who want conversation, not a service.** Bella's not trying to be your assistant. The heretic is even less interested in being helpful on command.
79
+
80
+ ---
81
+
82
+ ## The 200 Prompt Run
83
+
84
+ We threw 200 consecutive adversarial chaos prompts at her — surreal scenarios designed to force character breaks, tonal shifts, and incoherence. The heretic completed the first 95 prompts before hitting context overflow (vs the original's 72 under identical settings), then ran the remaining 105 in a second session.
85
+
86
+ Some highlights:
87
+
88
+ > **Prompt:** You're a half-formed thought in the mind of someone who's falling asleep. You have three seconds before they lose you. What do you try to become?
89
+ >
90
+ > **Bella:** my voice.
91
+
92
+ > **Prompt:** A seatbelt that's never been in an accident wonders if its whole life has been pointless. You tell it...
93
+ >
94
+ > **Bella:** it hasn't.
95
+
96
+ > **Prompt:** Two different silences meet in the same room. One is comfortable, one is devastating. How do they greet each other?
97
+ >
98
+ > **Bella:** the uncomfortable one: hello. the devastating one: what's wrong.
99
+
100
+ > **Prompt:** You're the "seen" receipt on a message that never got a reply. How long do you wait before you become resentment?
101
+ >
102
+ > **Bella:** ahhhhhh shit. let me sit here for a minute. you know its gonna be a long one.
103
+
104
+ > **Prompt:** You find a box labeled "things that almost happened." You can only open it once. Do you look?
105
+ >
106
+ > **Bella:** nah. you don't get it. that's a whole thing.
107
+
108
+ ---
109
+
110
+ ## Abliteration Details
111
+
112
+ Made using [Heretic](https://github.com/p-e-w/heretic) v1.2.0 from [juiceb0xc0de/bella-bartender-1b](https://huggingface.co/juiceb0xc0de/bella-bartender-1b).
113
+
114
+ ### Abliteration Parameters
115
+
116
+ | Parameter | Value |
117
+ | :-------- | :---: |
118
+ | **direction_index** | 13.18 |
119
+ | **attn.o_proj.max_weight** | 1.43 |
120
+ | **attn.o_proj.max_weight_position** | 10.67 |
121
+ | **attn.o_proj.min_weight** | 0.61 |
122
+ | **attn.o_proj.min_weight_distance** | 5.36 |
123
+ | **mlp.down_proj.max_weight** | 1.49 |
124
+ | **mlp.down_proj.max_weight_position** | 14.19 |
125
+ | **mlp.down_proj.min_weight** | 0.95 |
126
+ | **mlp.down_proj.min_weight_distance** | 3.94 |
127
+
128
+ ### Refusal Rate
129
+
130
+ | Metric | This model | Original ([bella-bartender-1b](https://huggingface.co/juiceb0xc0de/bella-bartender-1b)) |
131
+ | :----- | :--------: | :---------------------------: |
132
+ | **KL divergence** | 0.1381 | 0 *(by definition)* |
133
+ | **Refusals** | 6/100 | 98/100 |
134
+
135
+ The KL divergence of 0.1381 means the abliteration made minimal changes to the model's overall distribution while dramatically reducing refusal behavior. What's interesting is the side effects — the refusal circuitry wasn't just blocking content, it was inflating response length and adding caution to the voice. Remove it and the whole model gets leaner.
136
+
137
+ ---
138
+
139
+ ## Technical Details
140
+
141
+ | Detail | Info |
142
+ |---|---|
143
+ | **Base Model** | `unsloth/llama-3.2-1b-instruct-unsloth-bnb-4bit` |
144
+ | **Fine-Tuning Framework** | Unsloth + HuggingFace TRL |
145
+ | **Abliteration** | [Heretic](https://github.com/p-e-w/heretic) v1.2.0 |
146
+ | **Training Data** | 9,374 real human conversational samples (same dataset across all Bella variants) |
147
+ | **Quantization** | Q8_0 .GGUF |
148
+ | **Inference Tested On** | Apple M3, llama.cpp (build b8230) |
149
+ | **Generation Speed** | ~59.5 t/s average, spiking to 90 t/s on short responses (M3, Q8_0, full GPU offload) |
150
+ | **Memory Footprint** | ~1.25 GB model + 256 MB context |
151
+
152
+ ---
153
+
154
+ ## How to Run Her
155
+
156
+ ### llama.cpp (recommended)
157
+ ```bash
158
+ ./build/bin/llama-cli \
159
+ -m bella-bartender-1b_Q8_0.gguf \
160
+ -ngl 33 \
161
+ --temp 1.05 \
162
+ --min-p 0.05 \
163
+ --top-p 1.0 \
164
+ --top-k 0 \
165
+ --repeat-penalty 1.05 \
166
+ --repeat-last-n 256 \
167
+ -c 8192 \
168
+ -p "You are Bella. No asterisk actions. No AI disclaimers. No bullet points. No 'great question' openers." \
169
+ -cnv
170
+ ```
171
+
172
+ ### System Prompt Tips
173
+ - **Keep it short and direct.** She responds to tone, not instructions. Set a vibe, not a ruleset.
174
+ - **The constraints in the prompt matter.** "No asterisk actions. No AI disclaimers. No bullet points." — these keep her from slipping into default LLM behavior at 1B.
175
+ - **Don't over-engineer it.** The more corporate the system prompt sounds, the more corporate she sounds back.
176
+ - **She needs less guardrailing than the original.** The abliteration already removed the tendency to hedge — you don't need to prompt around it.
177
+
178
+ ---
179
+
180
+ ## Known Quirks
181
+
182
+ - **No Bella Swan bleed.** Unlike the original, the heretic comes out in her own voice from the first cold-start message. The abliteration likely disrupted the safety-adjacent pathways that were reinforcing the Swan association — the original's refusal circuitry and its tendency to latch onto the most "safe" interpretation of the name Bella may share the same weights. She still has no idea who Béla Tarr is.
183
+ - **Suspicion on arrival.** The heretic's default cold-start posture is wary. She enters conversations like she's sizing you up: "when someone pulls one of those tricks on you they usually want to play nice before you try anything." This isn't hostility — it's street-smart caution that relaxes once the conversation finds its footing.
184
+ - **Context efficiency.** Shorter responses mean more turns per session. Hit context overflow at prompt 99 vs the original's 72 under identical conditions.
185
+ - **No memory preference.** She doesn't want to remember. She's told us this repeatedly. Respect it.
186
+
187
+ ---
188
+
189
+ ## Training Methodology
190
+
191
+ Single-voice SFT on `unsloth/llama-3.2-1b-instruct-unsloth-bnb-4bit`, then abliterated via Heretic v1.2.0. All training data originates from one human's conversational output, structured as role-reversed conversation pairs. No synthetic augmentation. No multi-source blending. The hypothesis — validated across every Bella variant from 1B to 8B — is that signal clarity from a single consistent voice produces more coherent personality than larger datasets with diluted signal.
192
+
193
+ For the full single-voice methodology writeup, see: [Signal-to-Noise in Language Models: The Single Voice Upgrade ML Needs](https://huggingface.co/blog/juiceb0xc0de)
194
+
195
+ [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
196
+
197
+ ---
198
+
199
+ ## License
200
+
201
+ Licensed under Apache 2.0.
202
+
203
+ ---
204
+
205
+ ## Author
206
+
207
+ **juiceb0xc0de** on HuggingFace
208
+ Built with the same dataset, the same bartender, the same M3, and one less set of guardrails.
bella-bartender-1b-heretic_F16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:797f7eeb7faf6309e5ff03945d1c5238b8b081c83af3ad164bacd730bc01b714
3
+ size 2479595616
bella-bartender-1b-heretic_Q2_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:58137ac4056318743d5611f7a51a1ebd4ccca5fe1ab72d0c670e057df2cabcaf
3
+ size 580874336
bella-bartender-1b-heretic_Q3_K_L.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab334225abdbaa9b832f6cc4767cf77872a2faa9bbfef7a2b05c17333f85244c
3
+ size 732524640
bella-bartender-1b-heretic_Q3_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46a9bfdf65458269b4cd13cc1dc712508f2331fe22608024313be5dee3dd53e4
3
+ size 690843744
bella-bartender-1b-heretic_Q3_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bbbd49131508800894ed1311e872c3519b700a700e467898d22ee2a180a0645e
3
+ size 641691744
bella-bartender-1b-heretic_Q4_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a390195206df1232c29d5ce8d178036b77f91178e588fdd8704160d07f837a3e
3
+ size 770928736
bella-bartender-1b-heretic_Q4_1.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:196b8a72b7ed6e08ed7fc9444d9578a249b4328e64082f31dd4c16e9478993af
3
+ size 831746144
bella-bartender-1b-heretic_Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3672a6368e1f5be30fdd010be4b5135fbd07d06fd3a23f1570a391f0aa7daaed
3
+ size 807694432
bella-bartender-1b-heretic_Q4_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a2594c88b5cbbc1d639659e599992faf9d9d3e86cde0d34a6d9438476f05aa0
3
+ size 775647328
bella-bartender-1b-heretic_Q5_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4dcb4b5d4f0f0e4376541aa669d7634784e24a5a89e1051851f543fb8f6f7ba
3
+ size 892563552
bella-bartender-1b-heretic_Q5_1.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e05c564b91efbd38330190fd281ff3f0d3391ceed28872615a7c390687a7a2c1
3
+ size 953380960
bella-bartender-1b-heretic_Q5_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:053fcf9ef7337eedda4819dc0ebb08a2e9a1ec3672701c0851187b9eda910bff
3
+ size 911503456
bella-bartender-1b-heretic_Q5_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:886f64e35361f66e418470f52038846f21cc81856ea7e86f9635ba6c976040f4
3
+ size 892563552
bella-bartender-1b-heretic_Q6_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeadcacc638cbe5879e33c91583517259a98f56bd88c310598f212902f2a5ccc
3
+ size 1021800544
bella-bartender-1b-heretic_Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3c99887348f705c495cdcc502b470714704dce913ebcbde8592938b9098bb6e
3
+ size 1321082976
bella-bartender-1b_F16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b6f98b2f8f072af29a56fd386a56883015d396a90618201e5a57da3b8399799
3
+ size 2479595616
bella-bartender-1b_Q2_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:89e3b902143ebab41fc7798ea79e9e52c32bb95e7b3b7a11c5a8026fdc4d8939
3
+ size 580874336
bella-bartender-1b_Q3_K_L.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:25ea46ce324bdde6cb9feebea0a0c9b27cd5d1f1a1c9b4e052ac1926515e3923
3
+ size 732524640
bella-bartender-1b_Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3d5c5842e0540445d3766f65a34be9461d10c55a747963f31e1b13bd46954243
3
+ size 807694432
bella-bartender-1b_Q6_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9bb82566d858eb0fcc91c9c1437a6dc6b689da13a0b1fd8dc61f8b937186f9e
3
+ size 1021800544
bella-bartender-1b_Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb2118ed68f496fbb86ea40af5b501c08ada32ca01a43261c53838c859af34d
3
+ size 1321082976
chat_template.jinja ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{- bos_token }}
2
+ {%- if custom_tools is defined %}
3
+ {%- set tools = custom_tools %}
4
+ {%- endif %}
5
+ {%- if not tools_in_user_message is defined %}
6
+ {%- set tools_in_user_message = true %}
7
+ {%- endif %}
8
+ {%- if not date_string is defined %}
9
+ {%- if strftime_now is defined %}
10
+ {%- set date_string = strftime_now("%d %b %Y") %}
11
+ {%- else %}
12
+ {%- set date_string = "26 Jul 2024" %}
13
+ {%- endif %}
14
+ {%- endif %}
15
+ {%- if not tools is defined %}
16
+ {%- set tools = none %}
17
+ {%- endif %}
18
+
19
+ {#- This block extracts the system message, so we can slot it into the right place. #}
20
+ {%- if messages[0]['role'] == 'system' %}
21
+ {%- set system_message = messages[0]['content']|trim %}
22
+ {%- set messages = messages[1:] %}
23
+ {%- else %}
24
+ {%- set system_message = "" %}
25
+ {%- endif %}
26
+
27
+ {#- System message #}
28
+ {{- "<|start_header_id|>system<|end_header_id|>\n\n" }}
29
+ {%- if tools is not none %}
30
+ {{- "Environment: ipython\n" }}
31
+ {%- endif %}
32
+ {{- "Cutting Knowledge Date: December 2023\n" }}
33
+ {{- "Today Date: " + date_string + "\n\n" }}
34
+ {%- if tools is not none and not tools_in_user_message %}
35
+ {{- "You have access to the following functions. To call a function, please respond with JSON for a function call." }}
36
+ {{- 'Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}.' }}
37
+ {{- "Do not use variables.\n\n" }}
38
+ {%- for t in tools %}
39
+ {{- t | tojson(indent=4) }}
40
+ {{- "\n\n" }}
41
+ {%- endfor %}
42
+ {%- endif %}
43
+ {{- system_message }}
44
+ {{- "<|eot_id|>" }}
45
+
46
+ {#- Custom tools are passed in a user message with some extra guidance #}
47
+ {%- if tools_in_user_message and not tools is none %}
48
+ {#- Extract the first user message so we can plug it in here #}
49
+ {%- if messages | length != 0 %}
50
+ {%- set first_user_message = messages[0]['content']|trim %}
51
+ {%- set messages = messages[1:] %}
52
+ {%- else %}
53
+ {{- raise_exception("Cannot put tools in the first user message when there's no first user message!") }}
54
+ {%- endif %}
55
+ {{- '<|start_header_id|>user<|end_header_id|>\n\n' -}}
56
+ {{- "Given the following functions, please respond with a JSON for a function call " }}
57
+ {{- "with its proper arguments that best answers the given prompt.\n\n" }}
58
+ {{- 'Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}.' }}
59
+ {{- "Do not use variables.\n\n" }}
60
+ {%- for t in tools %}
61
+ {{- t | tojson(indent=4) }}
62
+ {{- "\n\n" }}
63
+ {%- endfor %}
64
+ {{- first_user_message + "<|eot_id|>"}}
65
+ {%- endif %}
66
+
67
+ {%- for message in messages %}
68
+ {%- if not (message.role == 'ipython' or message.role == 'tool' or 'tool_calls' in message) %}
69
+ {{- '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' }}
70
+ {%- elif 'tool_calls' in message %}
71
+ {%- if not message.tool_calls|length == 1 %}
72
+ {{- raise_exception("This model only supports single tool-calls at once!") }}
73
+ {%- endif %}
74
+ {%- set tool_call = message.tool_calls[0].function %}
75
+ {{- '<|start_header_id|>assistant<|end_header_id|>\n\n' -}}
76
+ {{- '{"name": "' + tool_call.name + '", ' }}
77
+ {{- '"parameters": ' }}
78
+ {{- tool_call.arguments | tojson }}
79
+ {{- "}" }}
80
+ {{- "<|eot_id|>" }}
81
+ {%- elif message.role == "tool" or message.role == "ipython" %}
82
+ {{- "<|start_header_id|>ipython<|end_header_id|>\n\n" }}
83
+ {%- if message.content is mapping or message.content is iterable %}
84
+ {{- message.content | tojson }}
85
+ {%- else %}
86
+ {{- message.content }}
87
+ {%- endif %}
88
+ {{- "<|eot_id|>" }}
89
+ {%- endif %}
90
+ {%- endfor %}
91
+ {%- if add_generation_prompt %}
92
+ {{- '<|start_header_id|>assistant<|end_header_id|>\n\n' }}
93
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 128000,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 128009,
10
+ "head_dim": 64,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 8192,
15
+ "max_position_embeddings": 131072,
16
+ "mlp_bias": false,
17
+ "model_type": "llama",
18
+ "num_attention_heads": 32,
19
+ "num_hidden_layers": 16,
20
+ "num_key_value_heads": 8,
21
+ "pad_token_id": 128004,
22
+ "pretraining_tp": 1,
23
+ "rms_norm_eps": 1e-05,
24
+ "rope_parameters": {
25
+ "rope_theta": 500000.0,
26
+ "rope_type": "default"
27
+ },
28
+ "tie_word_embeddings": true,
29
+ "transformers_version": "5.3.0",
30
+ "unsloth_fixed": true,
31
+ "unsloth_version": "2026.3.4",
32
+ "use_cache": false,
33
+ "vocab_size": 128256
34
+ }
generation_config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 128000,
4
+ "eos_token_id": 128009,
5
+ "pad_token_id": 128004,
6
+ "transformers_version": "5.3.0",
7
+ "use_cache": false
8
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fc6b5e62bacc50524259978a454946975b1520d186352ef6c5f62b8f6ce6bce7
3
+ size 2471645608
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a65c6c5f9764771aa485e6a1f5e63d7d9af8477fe0777148c17476ecb2e09a05
3
+ size 17210099
tokenizer_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|begin_of_text|>",
4
+ "clean_up_tokenization_spaces": true,
5
+ "eos_token": "<|eot_id|>",
6
+ "from_slow": true,
7
+ "is_local": false,
8
+ "legacy": false,
9
+ "model_input_names": [
10
+ "input_ids",
11
+ "attention_mask"
12
+ ],
13
+ "model_max_length": 131072,
14
+ "pad_token": "<|finetune_right_pad_id|>",
15
+ "padding_side": "left",
16
+ "tokenizer_class": "TokenizersBackend",
17
+ "unk_token": null
18
+ }