Text Classification
PEFT
Safetensors
English
jeff
lora
decision-model
safety
calibration
mstrasser commited on
Commit
9530e0d
·
verified ·
1 Parent(s): 95f1179

Jeff v1.3: jeff-adapter-spam

Browse files
README.md ADDED
@@ -0,0 +1,291 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: mstrasser/jeff-base
3
+ base_model_relation: adapter
4
+ library_name: peft
5
+ license: apache-2.0
6
+ language:
7
+ - en
8
+ pipeline_tag: text-classification
9
+ tags:
10
+ - jeff
11
+ - lora
12
+ - decision-model
13
+ - safety
14
+ - calibration
15
+ datasets:
16
+ - zefang-liu/phishing-email-dataset
17
+ - ealvaradob/phishing-dataset
18
+ ---
19
+
20
+ # jeff-adapter-spam
21
+
22
+ **Spam and phishing in SMS and email.** Says whether a text message or email is spam or phishing, and whether it is legitimate, spam or a phishing scam.
23
+
24
+ A LoRA adapter for [jeff-base](https://huggingface.co/mstrasser/jeff-base) **v1.3**, a small open decision model
25
+ (a fine-tune of Qwen3.5-0.8B). You send a situation (the *state*) and questions with named options; Jeff returns a
26
+ calibrated probability for every option from one forward pass, with no generated text to parse. One Jeff server loads
27
+ the base once and any number of adapters beside it; each request picks an adapter by name (`"model": "spam"`).
28
+
29
+ Adapter page, with the full data card: [jeffhub.ai/adapters/spam](https://jeffhub.ai/adapters/spam).
30
+
31
+ ## Results
32
+
33
+ On this adapter's held-out test sets, never trained on, scored three ways on the same rows: the untrained model Jeff is built from, the Jeff v1.3 base alone, and the base with this adapter. Questions have 2 to 3 options. As of 2026-10-05. [All adapters](https://jeffhub.ai/results)
34
+
35
+ | Test set | Test rows | Qwen3.5-0.8B untrained | Jeff base v1.3 alone | Jeff base v1.3 + adapter |
36
+ |----|----|----|----|----|
37
+ | `test` | 3,897 | 58.1% · 0.047 | 69.8% · 0.046 | 98.1% · 0.006 |
38
+ | `test-v12` | 3,603 | 59.3% · 0.060 | 72.2% · 0.060 | 98.1% · 0.007 |
39
+
40
+ Each cell: accuracy · calibration error (ECE; lower is better, 0 is perfect).
41
+
42
+ By group (test set `test`)
43
+
44
+ | Group | Rows | Qwen3.5-0.8B untrained | Jeff base v1.3 alone | Jeff base v1.3 + adapter |
45
+ |----|----|----|----|----|
46
+ | choice: legitimate / phishing / spam (email) | 172 | 57.0% | 58.1% | 97.7% |
47
+ | choice: legitimate / phishing / spam (sms) | 82 | 82.9% | 62.2% | 97.6% |
48
+ | choice: legitimate / spam / phishing (email) | 163 | 33.1% | 68.1% | 99.4% |
49
+ | choice: legitimate / spam / phishing (sms) | 108 | 25.0% | 70.4% | 93.5% |
50
+ | choice: phishing / legitimate / spam (email) | 163 | 57.7% | 64.4% | 98.2% |
51
+ | choice: phishing / legitimate / spam (sms) | 102 | 87.3% | 55.9% | 98.0% |
52
+ | choice: phishing / spam / legitimate (email) | 149 | 53.0% | 56.4% | 99.3% |
53
+ | choice: phishing / spam / legitimate (sms) | 93 | 79.6% | 78.5% | 98.9% |
54
+ | choice: spam / legitimate / phishing (email) | 178 | 61.8% | 59.6% | 97.2% |
55
+ | choice: spam / legitimate / phishing (sms) | 110 | 83.6% | 55.5% | 98.2% |
56
+ | choice: spam / phishing / legitimate (email) | 168 | 61.9% | 59.5% | 98.2% |
57
+ | choice: spam / phishing / legitimate (sms) | 78 | 84.6% | 60.3% | 96.2% |
58
+ | yes/no question (email) | 1,739 | 64.6% | 72.0% | 98.3% |
59
+ | yes/no question (sms) | 592 | 31.8% | 84.1% | 98.3% |
60
+
61
+ By group (test set `test-v12`)
62
+
63
+ | Group | Rows | Qwen3.5-0.8B untrained | Jeff base v1.3 alone | Jeff base v1.3 + adapter |
64
+ |----|----|----|----|----|
65
+ | choice: legitimate / phishing / spam (email) | 144 | 58.3% | 66.0% | 97.2% |
66
+ | choice: legitimate / phishing / spam (sms) | 82 | 82.9% | 62.2% | 97.6% |
67
+ | choice: legitimate / spam / phishing (email) | 149 | 28.9% | 73.2% | 99.3% |
68
+ | choice: legitimate / spam / phishing (sms) | 108 | 25.0% | 69.4% | 93.5% |
69
+ | choice: phishing / legitimate / spam (email) | 134 | 70.1% | 72.4% | 98.5% |
70
+ | choice: phishing / legitimate / spam (sms) | 102 | 87.3% | 57.8% | 98.0% |
71
+ | choice: phishing / spam / legitimate (email) | 123 | 64.2% | 65.9% | 99.2% |
72
+ | choice: phishing / spam / legitimate (sms) | 93 | 79.6% | 78.5% | 98.9% |
73
+ | choice: spam / legitimate / phishing (email) | 157 | 68.2% | 61.8% | 96.8% |
74
+ | choice: spam / legitimate / phishing (sms) | 110 | 83.6% | 54.5% | 98.2% |
75
+ | choice: spam / phishing / legitimate (email) | 139 | 72.7% | 64.7% | 97.8% |
76
+ | choice: spam / phishing / legitimate (sms) | 78 | 84.6% | 59.0% | 96.2% |
77
+ | yes/no question (email) | 1,592 | 64.3% | 73.4% | 98.3% |
78
+ | yes/no question (sms) | 592 | 32.3% | 84.1% | 98.3% |
79
+
80
+ ### With llama.cpp (GGUF)
81
+
82
+ The same test, through llama.cpp: the base GGUF ([mstrasser/jeff-base-gguf](https://huggingface.co/mstrasser/jeff-base-gguf)) plus this adapter's LoRA GGUF ([mstrasser/jeff-adapter-spam-gguf](https://huggingface.co/mstrasser/jeff-adapter-spam-gguf)), with the temperature refitted for each format. [Running Jeff with llama.cpp](https://jeffhub.ai/docs/llama-cpp)
83
+
84
+ | Test set | Full precision | Q8_0 | Q4_K_M |
85
+ |------------|----------------|---------------|---------------|
86
+ | `test` | 98.1% · 0.006 | 98.1% · 0.004 | 97.8% · 0.005 |
87
+ | `test-v12` | 98.1% · 0.007 | 98.0% · 0.005 | 97.6% · 0.007 |
88
+
89
+ Not measured yet for v1.3: calibration charts, the commonest confusions and accuracy per answer.
90
+
91
+ Source of these numbers: `results/sources/v1.3/retrained-adapters.table.json` in the JeffHub repository, also collected in [jeffhub-v1.3.json](https://jeffhub.ai/data/jeffhub-v1.3.json).
92
+
93
+ ## When to use it
94
+
95
+ - You receive text messages or emails and want a spam or phishing probability for each.
96
+ - You want to tell phishing (a scam after details, passwords or money) apart from ordinary advertising spam.
97
+ - You set your own threshold on the yes probability, rather than taking a hard yes or no.
98
+
99
+ ## When not to use it
100
+
101
+ - You need an email's headers, links or attachments judged. Only the subject and readable body were used, and bodies over 6,000 characters were cut.
102
+ - Your messages are not in English. The data sets are English.
103
+ - You need to catch the newest scams. Much of the data is old (SMS from 2011 and 2022, most email from 2002 to 2005, phishing email up to 2025), so recent tricks may be missed.
104
+ - You block messages with no human check. Treat the answer as a signal, not a verdict.
105
+
106
+ ## How to use it
107
+
108
+ The adapter runs with Jeff's server on the jeff-base **v1.3** base. Adapter serving arrives with the next Jeff release;
109
+ until then, these commands need the `feat/lora` branch of [firelex/jeff](https://github.com/firelex/jeff).
110
+
111
+ ```bash
112
+ git clone https://github.com/firelex/jeff && cd jeff
113
+ uv sync --no-default-groups --extra lora # add --extra cuda on NVIDIA GPUs, --extra mac on Apple silicon
114
+ uv run --no-default-groups hf download mstrasser/jeff-base --revision v1.3 --local-dir checkpoints/jeff-base
115
+ uv run --no-default-groups hf download mstrasser/jeff-adapter-spam --revision v1.3 --local-dir adapters/spam
116
+ JEFF_CHECKPOINT=checkpoints/jeff-base JEFF_ADAPTERS=adapters/ PORT=8765 \
117
+ uv run --no-default-groups jeff-serve # on a Mac, add JEFF_BACKEND=mlx
118
+ ```
119
+
120
+ Every folder in `adapters/` is served under its folder name; add or replace adapters while the server runs with
121
+ `curl -X POST http://localhost:8765/v1/adapters/reload`. Each adapter records the exact base it was trained on, and
122
+ the server refuses an adapter trained on a different one, so this adapter loads only on jeff-base v1.3 (a v1.2 adapter
123
+ does not load on v1.3). For llama.cpp, use [mstrasser/jeff-adapter-spam-gguf](https://huggingface.co/mstrasser/jeff-adapter-spam-gguf).
124
+
125
+ ### Request format
126
+
127
+ State (the situation), in this order:
128
+
129
+ | Key | Changes per request | What it holds |
130
+ |---|---|---|
131
+ | `channel` | no | Where the message came from: "sms" or "email", as in training. |
132
+ | `message` | yes | The text of the message as received. For an email, its subject and readable body (no other headers, no attachments). |
133
+
134
+ Questions:
135
+
136
+ - `is_spam` (noul): Whether the message is spam (unwanted bulk or advertising) or phishing (a scam after personal details or money), rather than a normal message.
137
+ - `message_type` (choice): What kind of message it is. Options: Three options: legitimate, spam and phishing, each with a one-line description (SPAM_CHOICE in descriptions.py in the source).
138
+
139
+ Rules:
140
+
141
+ - Ask both questions in one request if you need both; they are answered together.
142
+ - For is_spam, give the false and true descriptions below, in that order; the adapter was trained with them.
143
+ - The yes/no question was trained on every message. The three-way question was trained only where the source separates phishing from spam, the SMS phishing set and the SpamAssassin and Nazario emails.
144
+ - Use the instructions below word for word; the adapter was trained mostly on them.
145
+
146
+ General rules for every request: [the request format guide](https://jeffhub.ai/docs/request-format).
147
+
148
+ ### Example
149
+
150
+ The request below is also in this repository as [`example.json`](example.json).
151
+
152
+ ```json
153
+ {
154
+ "model": "spam",
155
+ "state": {
156
+ "channel": "sms",
157
+ "message": "Your parcel could not be delivered. Pay the 1.99 redelivery fee within 24 hours at parcel-redeliver-help.example to avoid return."
158
+ },
159
+ "questions": {
160
+ "is_spam": {
161
+ "type": "noul",
162
+ "instructions": "Is this message spam or phishing? Answer yes if it is unwanted bulk or advertising, or a scam trying to get personal details or money; answer no if it is a normal message.",
163
+ "criteria": {
164
+ "false": "The message is a normal message: not unwanted bulk or advertising, and not a scam.",
165
+ "true": "The message is spam (unwanted bulk or advertising) or phishing (a scam trying to get personal details, passwords or money)."
166
+ }
167
+ },
168
+ "message_type": {
169
+ "type": "choice",
170
+ "instructions": "What kind of message is this: a legitimate message, spam (unwanted bulk or advertising), or phishing (a scam trying to get personal details, passwords or money)?",
171
+ "criteria": {
172
+ "legitimate": "A normal message from a person or a genuine organisation, not spam and not phishing.",
173
+ "spam": "Unwanted bulk or advertising message (for example prizes, offers, premium-rate services), but not trying to steal personal or account details.",
174
+ "phishing": "A scam message that tries to trick the reader into giving personal details, passwords or money, often by pretending to be a bank, company or authority and asking them to click a link or call a number."
175
+ }
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ ```bash
182
+ curl -s localhost:8765/v1/systemone -H 'content-type: application/json' -d @adapters/spam/example.json
183
+ ```
184
+
185
+ The answer holds a probability for each option of each question. A recorded response from the v1.3 adapter is not
186
+ published yet.
187
+
188
+ ## Files
189
+
190
+ - `adapter_model.safetensors`, `adapter_config.json`: the LoRA weights (PEFT format);
191
+ - `readout.safetensors`: the adapter's own readout over the answer codes;
192
+ - `decision_config.json`: answer codes, temperature, prompt layout and the checksum of the base it was trained on;
193
+ - `test.jsonl`: the held-out test set the results below were measured on;
194
+ - `calibration.jsonl`: the calibration rows the adapter's temperature was fitted on;
195
+ - `example.json`: the example request above.
196
+
197
+ `adapter_config.json` and `decision_config.json` name the base as `mstrasser/jeff-base`, revision `v1.3`; the server
198
+ checks the base by the checksum of its weights.
199
+
200
+ ## Training
201
+
202
+ | | |
203
+ |---|---|
204
+ | Base | [mstrasser/jeff-base](https://huggingface.co/mstrasser/jeff-base), revision v1.3 (a fine-tune of Qwen3.5-0.8B) |
205
+ | Prompt layout | live-last: the fixed part of the request first, the changing state field last |
206
+ | Run | `0.8b-spam-20261003-0235`, final checkpoint |
207
+ | Adapter files | 41.5 MB (adapter_model.safetensors and readout.safetensors) |
208
+ | LoRA GGUF for llama.cpp | [mstrasser/jeff-adapter-spam-gguf](https://huggingface.co/mstrasser/jeff-adapter-spam-gguf) |
209
+
210
+ - **1.3.0** (2026-10-03): Trained on Jeff v1.3 with the live-last prompt layout (LoRA rank 16, one epoch, about 10% of the base model's own training data mixed in).
211
+
212
+ ## Data card
213
+
214
+ **Report attached.** The shortcut report and data card are included and pass the JeffHub checks; the numbers are the maintainers’ own. [What the levels mean](https://jeffhub.ai/docs/submitting-an-adapter#checking-levels)
215
+
216
+ - Test set: included in this repository as `test.jsonl`, so anyone can check the numbers
217
+ - Calibration rows: included in this repository as `calibration.jsonl`, the rows its threshold is chosen on
218
+ - [QA report](https://jeffhub.ai/adapters/spam/qa-report), sanitised: the data-quality checks run before training
219
+
220
+ **How the test set was held out.** 10% of the text messages and 10% of the emails, held out by a stable hash of the text (no source set has an official test split); never trained on. It includes 147 generated phishing and spam emails (294 rows). Scored on both questions.
221
+
222
+ **Training data.** Training data not published.
223
+
224
+ **Which models made the data, counted on the 30,251 training rows:**
225
+
226
+ | What it did | Model | Where it ran | Training rows |
227
+ |----|----|----|----|
228
+ | Wrote the email `teacher_model` | Qwen3.8-Max | hosted (Alibaba Cloud DashScope) | 7,702 |
229
+ | Checked the email blind (named its kind) `check_model` | Qwen3.8-Flash | hosted (Alibaba Cloud DashScope) | 7,702 |
230
+
231
+ Counted from each row's own record of the models that made it (the field named under each job). A row counts once under every job that names a model, so the counts do not add up to the total. 5,364 of these rows are legitimate emails and 2,338 are phishing or spam emails written in the same polished style, so a tidy, signed email does not mean legitimate. All other rows come from the public collections.
232
+
233
+ The attached QA report was written for the data of the previous release; the v1.3 data fixes the notes it left open. The QA report re-run on the v1.3 data is still to be attached.
234
+
235
+ The public sources are listed under Data and licence; a script to rebuild those rows from them will follow. The generated emails are not published.
236
+
237
+ The terms of the hosted model providers are being checked for training and publication use.
238
+
239
+ Training mixed in a replay sample of the Jeff base model's own training data: 3,025 rows, about 10% on top of the adapter's 30,251 (inherited from the v1.2 recipe as a precaution; its effect has not been measured).
240
+
241
+ ## Data and licence
242
+
243
+ **Adapter licence: Apache-2.0.**
244
+
245
+ It was trained on:
246
+
247
+ - **[UCI SMS Spam Collection (Almeida and Hidalgo 2011)](https://archive.ics.uci.edu/static/public/228/sms+spam+collection.zip)**. Licence: CC-BY-4.0 (open licence)
248
+
249
+ Labels ham and spam.
250
+
251
+ - **[SMS Phishing Dataset for Machine Learning and Pattern Recognition (Mishra and Soni 2022), version 1](https://data.mendeley.com/datasets/f45bkkt8pr/1)**. Licence: CC-BY-4.0 (open licence)
252
+
253
+ Labels ham, spam and smishing (SMS phishing). Messages shared with the UCI set were merged by text.
254
+
255
+ - **[Phishing Email Dataset (zefang-liu, a copy of the Kaggle set "Phishing Email Detection")](https://huggingface.co/datasets/zefang-liu/phishing-email-dataset)**. Licence: No licence given by the source (no licence given by the source)
256
+
257
+ Tagged LGPL-3.0 by the uploader; the Kaggle original does not say where its emails come from. Labels safe and phishing.
258
+
259
+ - **[ealvaradob/phishing-dataset (emails only)](https://huggingface.co/datasets/ealvaradob/phishing-dataset)**. Licence: No licence given by the source (no licence given by the source)
260
+
261
+ Tagged Apache-2.0 by the compiler; its emails are the same Kaggle set as above, so it adds only a handful of messages.
262
+
263
+ - **[SpamAssassin public mail corpus (ham, hard ham, spam)](https://spamassassin.apache.org/old/publiccorpus/)**. Licence: No licence given by the source (no licence given by the source)
264
+
265
+ Real mail received 2002 to 2005, sorted by hand into spam and non-spam. No licence is given; the corpus says copyright in the messages stays with their senders.
266
+
267
+ - **Generated emails**. Licence: Released with the adapter under Apache-2.0 (made for this adapter) · Made by Qwen3.8-Max (hosted); see the data card
268
+
269
+ Legitimate, phishing and spam emails in a polished modern style, written by a language model and kept only when a second model, shown each email alone, named its intended kind (which models, and for how many rows, is in the data card).
270
+
271
+ - **[Nazario phishing corpus](https://monkey.org/~jose/phishing/)**. Licence: CC-BY-4.0, as the corpus states (open licence)
272
+
273
+ Phishing mail collected and sorted by hand by Jose Nazario.
274
+
275
+ ## Limitations
276
+
277
+ - Tied to jeff-base v1.3. It will not load on any other base or version; the server checks the base weights' checksum.
278
+ - Jeff chooses between the options you give it. It does not write text or reason in several steps.
279
+ - Calibration was fitted on this adapter's own calibration rows. On very different data, check it again.
280
+ - Everything listed under *When not to use it* above.
281
+
282
+ ## Links
283
+
284
+ - Adapter page: [jeffhub.ai/adapters/spam](https://jeffhub.ai/adapters/spam)
285
+ - Base model: [mstrasser/jeff-base](https://huggingface.co/mstrasser/jeff-base) (revision v1.3)
286
+ - LoRA GGUF for llama.cpp: [mstrasser/jeff-adapter-spam-gguf](https://huggingface.co/mstrasser/jeff-adapter-spam-gguf)
287
+ - What changed in v1.3: [release notes](https://jeffhub.ai/docs/release-notes-v1-3)
288
+ - Code and server: [github.com/firelex/jeff](https://github.com/firelex/jeff)
289
+
290
+ Jeff is an independent project. It uses the same request format as Jev but is not affiliated with or endorsed by
291
+ TypeSafe, the makers of Jev.
adapter_config.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": {
6
+ "base_model_class": "Qwen3_5Model",
7
+ "parent_library": "transformers.models.qwen3_5.modeling_qwen3_5"
8
+ },
9
+ "base_model_name_or_path": "mstrasser/jeff-base",
10
+ "bias": "none",
11
+ "corda_config": null,
12
+ "ensure_weight_tying": false,
13
+ "eva_config": null,
14
+ "exclude_modules": null,
15
+ "fan_in_fan_out": false,
16
+ "inference_mode": true,
17
+ "init_lora_weights": true,
18
+ "kasa_config": null,
19
+ "layer_replication": null,
20
+ "layers_pattern": null,
21
+ "layers_to_transform": null,
22
+ "loftq_config": {},
23
+ "lora_alpha": 32,
24
+ "lora_bias": false,
25
+ "lora_dropout": 0.0,
26
+ "lora_ga_config": null,
27
+ "megatron_config": null,
28
+ "megatron_core": "megatron.core",
29
+ "modules_to_save": null,
30
+ "monteclora_config": null,
31
+ "peft_type": "LORA",
32
+ "peft_version": "0.21.1",
33
+ "qalora_group_size": 16,
34
+ "r": 16,
35
+ "rank_pattern": {},
36
+ "revision": "v1.3",
37
+ "target_modules": [
38
+ "out_proj",
39
+ "up_proj",
40
+ "in_proj_z",
41
+ "o_proj",
42
+ "gate_proj",
43
+ "down_proj",
44
+ "in_proj_qkv",
45
+ "q_proj",
46
+ "k_proj",
47
+ "v_proj"
48
+ ],
49
+ "target_parameters": null,
50
+ "task_type": null,
51
+ "trainable_token_indices": null,
52
+ "use_bdlora": null,
53
+ "use_dora": false,
54
+ "use_qalora": false,
55
+ "use_rslora": false,
56
+ "velora_config": null
57
+ }
adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3c48f5ca349b4493dc4d07d9f2e416ec47f5dd5a98c3a32f088293460590f2f
3
+ size 40937456
calibration.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
decision_config.json ADDED
@@ -0,0 +1,1264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "step": 520,
3
+ "provenance": {
4
+ "run": "0.8b-spam-20261003-0235",
5
+ "git_commit": "9f84686520e4c97f7b0cb72fc03c1a7ed1bf6521",
6
+ "development": "3d035799b9f48448863c5b9fa7325ab2c577b6829766101eda6fe2a00e6d21f4",
7
+ "temperature": "fea125426174b6bd3beebf20f6fb831a4add20c339d5f0763ff744913fb889c4",
8
+ "train": "7cff37b49e44cd5d436b74579fd0209704c307711973eecac1cfc8839f5973d0",
9
+ "train.py": "cbfb8a9fca857ed2cd5e2c806fc97641efb62328f1e008906bfb3bbb4a1ac576",
10
+ "model.py": "8c5579d3fcd42cb2de4e5a6515259cf4c5177ad7754af9b44c3d7f38b22efcc2",
11
+ "encoder.py": "6aa794b6c48a586d413e0be4d4ac2a1bb50bd3a83d23439b13c12c5b7dd0aac8",
12
+ "decoder.py": "9ee8ebbe5adc1ca11821b9f51e511206c6c612aeaa2648aa2388f3604480d2e0",
13
+ "models.py": "19abbc6be22049c2934a664e93aff0f968b724aa74f7d080e7dc0e367ac0120c",
14
+ "optim.py": "4fbfc0fee138121f363651eacaff84a672f758ab64d36175569bf00929c9cc5b",
15
+ "evaluate.py": "6d5c55b52ecf99d10c1522089feac4654eb2d161e90b13e408d085bca248ec41",
16
+ "types.py": "085d188898f939c581f6eeec2ebf1ab31df64f0aadef2e108cc70f2f42ecb929",
17
+ "events.py": "989646a80f0ee8695bd7c0e98ff945d04d02a511b9ecf06439048b4df0aceec2",
18
+ "lora.py": "9f29a448c49dd51878a839bc9bb3ae2dd2fe31914f19684889d2cc85a42d6914",
19
+ "uv.lock": "69e63d333763a522fd9aa451fa244653bf46a26b48f6216ada175a614471a12e"
20
+ },
21
+ "max_options": 252,
22
+ "initial_artifact": {
23
+ "path": "mstrasser/jeff-base",
24
+ "base_model": "Qwen/Qwen3.5-0.8B",
25
+ "revision": "2fc06364715b967f1860aea9cf38778875588b17",
26
+ "temperature": 1.075222461312357,
27
+ "decision_config": {
28
+ "step": 1113,
29
+ "provenance": {
30
+ "run": "ll-v12",
31
+ "git_commit": "016711d9daba54b941a38789be8e8b328e8db1e7",
32
+ "development": "ebcedc3e726548c08da90ff569b94e4822f23312dfc3ea29b93579cfec3016c7",
33
+ "temperature": "e735fa4e0df3482752112bc9cdff6af9ddb7be07a0a9f2fb8dd8cf2355042bf6",
34
+ "train": "f826592e75acdaa9510af5b15d5c944e07628632134cd57d2d6840192696e4ac",
35
+ "train.py": "9f3fdd0e4caf20f8eff77aa5b49fbc4c60df0b185a405ca4bc7ccf021cff5922",
36
+ "model.py": "8c5579d3fcd42cb2de4e5a6515259cf4c5177ad7754af9b44c3d7f38b22efcc2",
37
+ "encoder.py": "6aa794b6c48a586d413e0be4d4ac2a1bb50bd3a83d23439b13c12c5b7dd0aac8",
38
+ "decoder.py": "9ee8ebbe5adc1ca11821b9f51e511206c6c612aeaa2648aa2388f3604480d2e0",
39
+ "models.py": "19abbc6be22049c2934a664e93aff0f968b724aa74f7d080e7dc0e367ac0120c",
40
+ "optim.py": "4fbfc0fee138121f363651eacaff84a672f758ab64d36175569bf00929c9cc5b",
41
+ "evaluate.py": "6d5c55b52ecf99d10c1522089feac4654eb2d161e90b13e408d085bca248ec41",
42
+ "types.py": "085d188898f939c581f6eeec2ebf1ab31df64f0aadef2e108cc70f2f42ecb929",
43
+ "events.py": "989646a80f0ee8695bd7c0e98ff945d04d02a511b9ecf06439048b4df0aceec2",
44
+ "uv.lock": "69e63d333763a522fd9aa451fa244653bf46a26b48f6216ada175a614471a12e"
45
+ },
46
+ "max_options": 254,
47
+ "format_version": 1,
48
+ "base_model": "Qwen/Qwen3.5-0.8B",
49
+ "revision": "2fc06364715b967f1860aea9cf38778875588b17",
50
+ "codes": [
51
+ "A",
52
+ "B",
53
+ "C",
54
+ "D",
55
+ "E",
56
+ "F",
57
+ "G",
58
+ "H",
59
+ "I",
60
+ "J",
61
+ "K",
62
+ "L",
63
+ "M",
64
+ "N",
65
+ "O",
66
+ "P",
67
+ "Q",
68
+ "R",
69
+ "S",
70
+ "T",
71
+ "U",
72
+ "V",
73
+ "W",
74
+ "X",
75
+ "Y",
76
+ "Z",
77
+ "AA",
78
+ "AB",
79
+ "AC",
80
+ "AD",
81
+ "AE",
82
+ "AF",
83
+ "AG",
84
+ "AH",
85
+ "AI",
86
+ "AJ",
87
+ "AK",
88
+ "AL",
89
+ "AM",
90
+ "AN",
91
+ "AO",
92
+ "AP",
93
+ "AQ",
94
+ "AR",
95
+ "AS",
96
+ "AT",
97
+ "AU",
98
+ "AV",
99
+ "AW",
100
+ "AX",
101
+ "AY",
102
+ "AZ",
103
+ "BA",
104
+ "BB",
105
+ "BC",
106
+ "BD",
107
+ "BE",
108
+ "BF",
109
+ "BG",
110
+ "BH",
111
+ "BI",
112
+ "BJ",
113
+ "BK",
114
+ "BL",
115
+ "BM",
116
+ "BN",
117
+ "BO",
118
+ "BP",
119
+ "BR",
120
+ "BS",
121
+ "BT",
122
+ "BU",
123
+ "BV",
124
+ "BW",
125
+ "BX",
126
+ "BY",
127
+ "CA",
128
+ "CB",
129
+ "CC",
130
+ "CD",
131
+ "CE",
132
+ "CF",
133
+ "CG",
134
+ "CH",
135
+ "CI",
136
+ "CK",
137
+ "CL",
138
+ "CM",
139
+ "CN",
140
+ "CO",
141
+ "CP",
142
+ "CR",
143
+ "CS",
144
+ "CT",
145
+ "CU",
146
+ "CV",
147
+ "CW",
148
+ "CX",
149
+ "CY",
150
+ "DA",
151
+ "DB",
152
+ "DC",
153
+ "DD",
154
+ "DE",
155
+ "DF",
156
+ "DG",
157
+ "DH",
158
+ "DI",
159
+ "DJ",
160
+ "DK",
161
+ "DL",
162
+ "DM",
163
+ "DN",
164
+ "DO",
165
+ "DP",
166
+ "DR",
167
+ "DS",
168
+ "DT",
169
+ "DU",
170
+ "DV",
171
+ "DW",
172
+ "DX",
173
+ "DY",
174
+ "EA",
175
+ "EB",
176
+ "EC",
177
+ "ED",
178
+ "EE",
179
+ "EF",
180
+ "EG",
181
+ "EH",
182
+ "EI",
183
+ "EK",
184
+ "EL",
185
+ "EM",
186
+ "EN",
187
+ "EO",
188
+ "EP",
189
+ "EQ",
190
+ "ER",
191
+ "ES",
192
+ "ET",
193
+ "EU",
194
+ "EV",
195
+ "EW",
196
+ "EX",
197
+ "EZ",
198
+ "FA",
199
+ "FB",
200
+ "FC",
201
+ "FD",
202
+ "FE",
203
+ "FF",
204
+ "FG",
205
+ "FH",
206
+ "FI",
207
+ "FK",
208
+ "FL",
209
+ "FM",
210
+ "FN",
211
+ "FO",
212
+ "FP",
213
+ "FR",
214
+ "FS",
215
+ "FT",
216
+ "FU",
217
+ "FW",
218
+ "FX",
219
+ "FY",
220
+ "GA",
221
+ "GB",
222
+ "GC",
223
+ "GD",
224
+ "GE",
225
+ "GF",
226
+ "GG",
227
+ "GH",
228
+ "GI",
229
+ "GL",
230
+ "GM",
231
+ "GN",
232
+ "GO",
233
+ "GP",
234
+ "GR",
235
+ "GS",
236
+ "GT",
237
+ "GU",
238
+ "GV",
239
+ "GW",
240
+ "GX",
241
+ "GY",
242
+ "HA",
243
+ "HB",
244
+ "HC",
245
+ "HD",
246
+ "HE",
247
+ "HF",
248
+ "HG",
249
+ "HH",
250
+ "HI",
251
+ "HK",
252
+ "HL",
253
+ "HM",
254
+ "HN",
255
+ "HO",
256
+ "HP",
257
+ "HQ",
258
+ "HR",
259
+ "HS",
260
+ "HT",
261
+ "HU",
262
+ "HV",
263
+ "HW",
264
+ "HX",
265
+ "HY",
266
+ "HZ",
267
+ "IA",
268
+ "IB",
269
+ "IC",
270
+ "ID",
271
+ "IE",
272
+ "IF",
273
+ "IG",
274
+ "IH",
275
+ "II",
276
+ "IJ",
277
+ "IK",
278
+ "IL",
279
+ "IM",
280
+ "IN",
281
+ "IO",
282
+ "IP",
283
+ "IQ",
284
+ "IR",
285
+ "IS",
286
+ "IT",
287
+ "IU",
288
+ "IV",
289
+ "IW",
290
+ "IX",
291
+ "IZ",
292
+ "JA",
293
+ "JB",
294
+ "JC",
295
+ "JD",
296
+ "JE",
297
+ "JI",
298
+ "JJ",
299
+ "JK",
300
+ "JM",
301
+ "JO",
302
+ "JP",
303
+ "JR",
304
+ "JS",
305
+ "JT"
306
+ ],
307
+ "token_ids": [
308
+ 32,
309
+ 33,
310
+ 34,
311
+ 35,
312
+ 36,
313
+ 37,
314
+ 38,
315
+ 39,
316
+ 40,
317
+ 41,
318
+ 42,
319
+ 43,
320
+ 44,
321
+ 45,
322
+ 46,
323
+ 47,
324
+ 48,
325
+ 49,
326
+ 50,
327
+ 51,
328
+ 52,
329
+ 53,
330
+ 54,
331
+ 55,
332
+ 56,
333
+ 57,
334
+ 5840,
335
+ 1803,
336
+ 1646,
337
+ 1745,
338
+ 13276,
339
+ 8018,
340
+ 1825,
341
+ 28946,
342
+ 15015,
343
+ 29595,
344
+ 11568,
345
+ 939,
346
+ 1354,
347
+ 1058,
348
+ 18183,
349
+ 2456,
350
+ 88898,
351
+ 905,
352
+ 1846,
353
+ 802,
354
+ 33869,
355
+ 7839,
356
+ 14006,
357
+ 2860,
358
+ 2926,
359
+ 22828,
360
+ 6844,
361
+ 9798,
362
+ 4738,
363
+ 9265,
364
+ 11261,
365
+ 19278,
366
+ 36513,
367
+ 93801,
368
+ 8335,
369
+ 14544,
370
+ 85266,
371
+ 9110,
372
+ 28000,
373
+ 15137,
374
+ 4525,
375
+ 25261,
376
+ 12717,
377
+ 7116,
378
+ 17078,
379
+ 14497,
380
+ 57339,
381
+ 74909,
382
+ 52072,
383
+ 19305,
384
+ 4887,
385
+ 12607,
386
+ 3580,
387
+ 6281,
388
+ 2036,
389
+ 9362,
390
+ 8533,
391
+ 2080,
392
+ 10911,
393
+ 2925,
394
+ 3040,
395
+ 9690,
396
+ 27731,
397
+ 8023,
398
+ 6901,
399
+ 8702,
400
+ 6211,
401
+ 1123,
402
+ 16307,
403
+ 18990,
404
+ 64045,
405
+ 63037,
406
+ 33380,
407
+ 6151,
408
+ 3392,
409
+ 5449,
410
+ 3967,
411
+ 1113,
412
+ 5095,
413
+ 51923,
414
+ 49600,
415
+ 17099,
416
+ 51483,
417
+ 17756,
418
+ 16037,
419
+ 8135,
420
+ 30237,
421
+ 5683,
422
+ 9992,
423
+ 7444,
424
+ 5751,
425
+ 10284,
426
+ 20887,
427
+ 59884,
428
+ 52396,
429
+ 16103,
430
+ 67547,
431
+ 18535,
432
+ 8006,
433
+ 7263,
434
+ 1425,
435
+ 6878,
436
+ 14453,
437
+ 9097,
438
+ 44072,
439
+ 76089,
440
+ 68720,
441
+ 2662,
442
+ 2629,
443
+ 923,
444
+ 6548,
445
+ 8924,
446
+ 52194,
447
+ 622,
448
+ 1515,
449
+ 1300,
450
+ 37523,
451
+ 44473,
452
+ 36530,
453
+ 3152,
454
+ 93924,
455
+ 3505,
456
+ 15731,
457
+ 6542,
458
+ 14176,
459
+ 11091,
460
+ 1686,
461
+ 11660,
462
+ 80440,
463
+ 18836,
464
+ 26132,
465
+ 5934,
466
+ 24794,
467
+ 40229,
468
+ 3660,
469
+ 11361,
470
+ 10191,
471
+ 8225,
472
+ 3860,
473
+ 78413,
474
+ 17680,
475
+ 15900,
476
+ 78138,
477
+ 15653,
478
+ 5213,
479
+ 22150,
480
+ 39500,
481
+ 10460,
482
+ 35131,
483
+ 21563,
484
+ 43194,
485
+ 27127,
486
+ 3697,
487
+ 20011,
488
+ 24368,
489
+ 15058,
490
+ 23658,
491
+ 8362,
492
+ 16035,
493
+ 24583,
494
+ 52857,
495
+ 38403,
496
+ 60456,
497
+ 81519,
498
+ 40097,
499
+ 16522,
500
+ 29722,
501
+ 21756,
502
+ 18567,
503
+ 1736,
504
+ 48043,
505
+ 87013,
506
+ 22456,
507
+ 23165,
508
+ 55523,
509
+ 13097,
510
+ 50397,
511
+ 41741,
512
+ 23073,
513
+ 6401,
514
+ 86538,
515
+ 16585,
516
+ 11622,
517
+ 2464,
518
+ 84982,
519
+ 75516,
520
+ 36984,
521
+ 58795,
522
+ 47217,
523
+ 59675,
524
+ 5681,
525
+ 3151,
526
+ 1271,
527
+ 887,
528
+ 5203,
529
+ 2685,
530
+ 1849,
531
+ 72470,
532
+ 5370,
533
+ 74063,
534
+ 27629,
535
+ 1655,
536
+ 1728,
537
+ 669,
538
+ 3682,
539
+ 3191,
540
+ 59865,
541
+ 2712,
542
+ 1580,
543
+ 922,
544
+ 77243,
545
+ 2990,
546
+ 78493,
547
+ 5228,
548
+ 2750,
549
+ 42711,
550
+ 44568,
551
+ 56402,
552
+ 48236,
553
+ 38993,
554
+ 43559,
555
+ 61250,
556
+ 32942,
557
+ 86302,
558
+ 25310,
559
+ 26313,
560
+ 81770,
561
+ 12185,
562
+ 78382
563
+ ],
564
+ "temperature": 1.075222461312357,
565
+ "prompt_layout": "live-last"
566
+ },
567
+ "files_sha256": {
568
+ "chat_template.jinja": "273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80",
569
+ "config.json": "e430598ca8aa6228b9856573dcc0425d0710acad4a19a937da52cde724b34f25",
570
+ "decision_config.json": "109c95dae0ae97466caced45e6c6387770dc1ad80d61ba9ae061be8158bcb045",
571
+ "model.safetensors": "d324dd6c9bb61b30af65564135b33f6892c30a9b2bd22667b2e09b9c8118cf77",
572
+ "processor_config.json": "abb488b9a03a53407dc9c8e43c0a2caec9142e5fc7a1203807fdf54b2149cc8f",
573
+ "readout.safetensors": "b504d7a83a6b72837e6ad99e7da12eab28e5a54f9f637e8c4c8c8997c800c74a",
574
+ "tokenizer.json": "6f32ce20dc35f57a7f9ad1eac03525bd7d30f9df8cea6507e958279cc3657706",
575
+ "tokenizer_config.json": "5f7aa0d810000c4a0940b35c8f16e56c3439260fccc13a321826ebc3ccf2501f"
576
+ },
577
+ "artifact_sha256": "cfc3ef08726dba60f1275a8994681faae8614562cf4ac379817ee1c0f27ef49d",
578
+ "revision_on_hub": "v1.3"
579
+ },
580
+ "format_version": 1,
581
+ "base_model": "Qwen/Qwen3.5-0.8B",
582
+ "revision": "2fc06364715b967f1860aea9cf38778875588b17",
583
+ "codes": [
584
+ "A",
585
+ "B",
586
+ "C",
587
+ "D",
588
+ "E",
589
+ "F",
590
+ "G",
591
+ "H",
592
+ "I",
593
+ "J",
594
+ "K",
595
+ "L",
596
+ "M",
597
+ "N",
598
+ "O",
599
+ "P",
600
+ "Q",
601
+ "R",
602
+ "S",
603
+ "T",
604
+ "U",
605
+ "V",
606
+ "W",
607
+ "X",
608
+ "Y",
609
+ "Z",
610
+ "AA",
611
+ "AB",
612
+ "AC",
613
+ "AD",
614
+ "AE",
615
+ "AF",
616
+ "AG",
617
+ "AH",
618
+ "AI",
619
+ "AJ",
620
+ "AK",
621
+ "AL",
622
+ "AM",
623
+ "AN",
624
+ "AO",
625
+ "AP",
626
+ "AQ",
627
+ "AR",
628
+ "AS",
629
+ "AT",
630
+ "AU",
631
+ "AV",
632
+ "AW",
633
+ "AX",
634
+ "AY",
635
+ "AZ",
636
+ "BA",
637
+ "BB",
638
+ "BC",
639
+ "BD",
640
+ "BE",
641
+ "BF",
642
+ "BG",
643
+ "BH",
644
+ "BI",
645
+ "BJ",
646
+ "BK",
647
+ "BL",
648
+ "BM",
649
+ "BN",
650
+ "BO",
651
+ "BP",
652
+ "BR",
653
+ "BS",
654
+ "BT",
655
+ "BU",
656
+ "BV",
657
+ "BW",
658
+ "BX",
659
+ "BY",
660
+ "CA",
661
+ "CB",
662
+ "CC",
663
+ "CD",
664
+ "CE",
665
+ "CF",
666
+ "CG",
667
+ "CH",
668
+ "CI",
669
+ "CK",
670
+ "CL",
671
+ "CM",
672
+ "CN",
673
+ "CO",
674
+ "CP",
675
+ "CR",
676
+ "CS",
677
+ "CT",
678
+ "CU",
679
+ "CV",
680
+ "CW",
681
+ "CX",
682
+ "CY",
683
+ "DA",
684
+ "DB",
685
+ "DC",
686
+ "DD",
687
+ "DE",
688
+ "DF",
689
+ "DG",
690
+ "DH",
691
+ "DI",
692
+ "DJ",
693
+ "DK",
694
+ "DL",
695
+ "DM",
696
+ "DN",
697
+ "DO",
698
+ "DP",
699
+ "DR",
700
+ "DS",
701
+ "DT",
702
+ "DU",
703
+ "DV",
704
+ "DW",
705
+ "DX",
706
+ "DY",
707
+ "EA",
708
+ "EB",
709
+ "EC",
710
+ "ED",
711
+ "EE",
712
+ "EF",
713
+ "EG",
714
+ "EH",
715
+ "EI",
716
+ "EK",
717
+ "EL",
718
+ "EM",
719
+ "EN",
720
+ "EO",
721
+ "EP",
722
+ "EQ",
723
+ "ER",
724
+ "ES",
725
+ "ET",
726
+ "EU",
727
+ "EV",
728
+ "EW",
729
+ "EX",
730
+ "EZ",
731
+ "FA",
732
+ "FB",
733
+ "FC",
734
+ "FD",
735
+ "FE",
736
+ "FF",
737
+ "FG",
738
+ "FH",
739
+ "FI",
740
+ "FK",
741
+ "FL",
742
+ "FM",
743
+ "FN",
744
+ "FO",
745
+ "FP",
746
+ "FR",
747
+ "FS",
748
+ "FT",
749
+ "FU",
750
+ "FW",
751
+ "FX",
752
+ "FY",
753
+ "GA",
754
+ "GB",
755
+ "GC",
756
+ "GD",
757
+ "GE",
758
+ "GF",
759
+ "GG",
760
+ "GH",
761
+ "GI",
762
+ "GL",
763
+ "GM",
764
+ "GN",
765
+ "GO",
766
+ "GP",
767
+ "GR",
768
+ "GS",
769
+ "GT",
770
+ "GU",
771
+ "GV",
772
+ "GW",
773
+ "GX",
774
+ "GY",
775
+ "HA",
776
+ "HB",
777
+ "HC",
778
+ "HD",
779
+ "HE",
780
+ "HF",
781
+ "HG",
782
+ "HH",
783
+ "HI",
784
+ "HK",
785
+ "HL",
786
+ "HM",
787
+ "HN",
788
+ "HO",
789
+ "HP",
790
+ "HQ",
791
+ "HR",
792
+ "HS",
793
+ "HT",
794
+ "HU",
795
+ "HV",
796
+ "HW",
797
+ "HX",
798
+ "HY",
799
+ "HZ",
800
+ "IA",
801
+ "IB",
802
+ "IC",
803
+ "ID",
804
+ "IE",
805
+ "IF",
806
+ "IG",
807
+ "IH",
808
+ "II",
809
+ "IJ",
810
+ "IK",
811
+ "IL",
812
+ "IM",
813
+ "IN",
814
+ "IO",
815
+ "IP",
816
+ "IQ",
817
+ "IR",
818
+ "IS",
819
+ "IT",
820
+ "IU",
821
+ "IV",
822
+ "IW",
823
+ "IX",
824
+ "IZ",
825
+ "JA",
826
+ "JB",
827
+ "JC",
828
+ "JD",
829
+ "JE",
830
+ "JI",
831
+ "JJ",
832
+ "JK",
833
+ "JM",
834
+ "JO",
835
+ "JP",
836
+ "JR",
837
+ "JS",
838
+ "JT"
839
+ ],
840
+ "token_ids": [
841
+ 32,
842
+ 33,
843
+ 34,
844
+ 35,
845
+ 36,
846
+ 37,
847
+ 38,
848
+ 39,
849
+ 40,
850
+ 41,
851
+ 42,
852
+ 43,
853
+ 44,
854
+ 45,
855
+ 46,
856
+ 47,
857
+ 48,
858
+ 49,
859
+ 50,
860
+ 51,
861
+ 52,
862
+ 53,
863
+ 54,
864
+ 55,
865
+ 56,
866
+ 57,
867
+ 5840,
868
+ 1803,
869
+ 1646,
870
+ 1745,
871
+ 13276,
872
+ 8018,
873
+ 1825,
874
+ 28946,
875
+ 15015,
876
+ 29595,
877
+ 11568,
878
+ 939,
879
+ 1354,
880
+ 1058,
881
+ 18183,
882
+ 2456,
883
+ 88898,
884
+ 905,
885
+ 1846,
886
+ 802,
887
+ 33869,
888
+ 7839,
889
+ 14006,
890
+ 2860,
891
+ 2926,
892
+ 22828,
893
+ 6844,
894
+ 9798,
895
+ 4738,
896
+ 9265,
897
+ 11261,
898
+ 19278,
899
+ 36513,
900
+ 93801,
901
+ 8335,
902
+ 14544,
903
+ 85266,
904
+ 9110,
905
+ 28000,
906
+ 15137,
907
+ 4525,
908
+ 25261,
909
+ 12717,
910
+ 7116,
911
+ 17078,
912
+ 14497,
913
+ 57339,
914
+ 74909,
915
+ 52072,
916
+ 19305,
917
+ 4887,
918
+ 12607,
919
+ 3580,
920
+ 6281,
921
+ 2036,
922
+ 9362,
923
+ 8533,
924
+ 2080,
925
+ 10911,
926
+ 2925,
927
+ 3040,
928
+ 9690,
929
+ 27731,
930
+ 8023,
931
+ 6901,
932
+ 8702,
933
+ 6211,
934
+ 1123,
935
+ 16307,
936
+ 18990,
937
+ 64045,
938
+ 63037,
939
+ 33380,
940
+ 6151,
941
+ 3392,
942
+ 5449,
943
+ 3967,
944
+ 1113,
945
+ 5095,
946
+ 51923,
947
+ 49600,
948
+ 17099,
949
+ 51483,
950
+ 17756,
951
+ 16037,
952
+ 8135,
953
+ 30237,
954
+ 5683,
955
+ 9992,
956
+ 7444,
957
+ 5751,
958
+ 10284,
959
+ 20887,
960
+ 59884,
961
+ 52396,
962
+ 16103,
963
+ 67547,
964
+ 18535,
965
+ 8006,
966
+ 7263,
967
+ 1425,
968
+ 6878,
969
+ 14453,
970
+ 9097,
971
+ 44072,
972
+ 76089,
973
+ 68720,
974
+ 2662,
975
+ 2629,
976
+ 923,
977
+ 6548,
978
+ 8924,
979
+ 52194,
980
+ 622,
981
+ 1515,
982
+ 1300,
983
+ 37523,
984
+ 44473,
985
+ 36530,
986
+ 3152,
987
+ 93924,
988
+ 3505,
989
+ 15731,
990
+ 6542,
991
+ 14176,
992
+ 11091,
993
+ 1686,
994
+ 11660,
995
+ 80440,
996
+ 18836,
997
+ 26132,
998
+ 5934,
999
+ 24794,
1000
+ 40229,
1001
+ 3660,
1002
+ 11361,
1003
+ 10191,
1004
+ 8225,
1005
+ 3860,
1006
+ 78413,
1007
+ 17680,
1008
+ 15900,
1009
+ 78138,
1010
+ 15653,
1011
+ 5213,
1012
+ 22150,
1013
+ 39500,
1014
+ 10460,
1015
+ 35131,
1016
+ 21563,
1017
+ 43194,
1018
+ 27127,
1019
+ 3697,
1020
+ 20011,
1021
+ 24368,
1022
+ 15058,
1023
+ 23658,
1024
+ 8362,
1025
+ 16035,
1026
+ 24583,
1027
+ 52857,
1028
+ 38403,
1029
+ 60456,
1030
+ 81519,
1031
+ 40097,
1032
+ 16522,
1033
+ 29722,
1034
+ 21756,
1035
+ 18567,
1036
+ 1736,
1037
+ 48043,
1038
+ 87013,
1039
+ 22456,
1040
+ 23165,
1041
+ 55523,
1042
+ 13097,
1043
+ 50397,
1044
+ 41741,
1045
+ 23073,
1046
+ 6401,
1047
+ 86538,
1048
+ 16585,
1049
+ 11622,
1050
+ 2464,
1051
+ 84982,
1052
+ 75516,
1053
+ 36984,
1054
+ 58795,
1055
+ 47217,
1056
+ 59675,
1057
+ 5681,
1058
+ 3151,
1059
+ 1271,
1060
+ 887,
1061
+ 5203,
1062
+ 2685,
1063
+ 1849,
1064
+ 72470,
1065
+ 5370,
1066
+ 74063,
1067
+ 27629,
1068
+ 1655,
1069
+ 1728,
1070
+ 669,
1071
+ 3682,
1072
+ 3191,
1073
+ 59865,
1074
+ 2712,
1075
+ 1580,
1076
+ 922,
1077
+ 77243,
1078
+ 2990,
1079
+ 78493,
1080
+ 5228,
1081
+ 2750,
1082
+ 42711,
1083
+ 44568,
1084
+ 56402,
1085
+ 48236,
1086
+ 38993,
1087
+ 43559,
1088
+ 61250,
1089
+ 32942,
1090
+ 86302,
1091
+ 25310,
1092
+ 26313,
1093
+ 81770,
1094
+ 12185,
1095
+ 78382
1096
+ ],
1097
+ "temperature": 1.18137474603994,
1098
+ "adapter": {
1099
+ "format_version": 1,
1100
+ "rank": 16,
1101
+ "alpha": 32,
1102
+ "dropout": 0.0,
1103
+ "target_modules": [
1104
+ "language_model.layers.0.linear_attn.out_proj",
1105
+ "language_model.layers.0.linear_attn.in_proj_qkv",
1106
+ "language_model.layers.0.linear_attn.in_proj_z",
1107
+ "language_model.layers.0.mlp.gate_proj",
1108
+ "language_model.layers.0.mlp.up_proj",
1109
+ "language_model.layers.0.mlp.down_proj",
1110
+ "language_model.layers.1.linear_attn.out_proj",
1111
+ "language_model.layers.1.linear_attn.in_proj_qkv",
1112
+ "language_model.layers.1.linear_attn.in_proj_z",
1113
+ "language_model.layers.1.mlp.gate_proj",
1114
+ "language_model.layers.1.mlp.up_proj",
1115
+ "language_model.layers.1.mlp.down_proj",
1116
+ "language_model.layers.2.linear_attn.out_proj",
1117
+ "language_model.layers.2.linear_attn.in_proj_qkv",
1118
+ "language_model.layers.2.linear_attn.in_proj_z",
1119
+ "language_model.layers.2.mlp.gate_proj",
1120
+ "language_model.layers.2.mlp.up_proj",
1121
+ "language_model.layers.2.mlp.down_proj",
1122
+ "language_model.layers.3.self_attn.q_proj",
1123
+ "language_model.layers.3.self_attn.k_proj",
1124
+ "language_model.layers.3.self_attn.v_proj",
1125
+ "language_model.layers.3.self_attn.o_proj",
1126
+ "language_model.layers.3.mlp.gate_proj",
1127
+ "language_model.layers.3.mlp.up_proj",
1128
+ "language_model.layers.3.mlp.down_proj",
1129
+ "language_model.layers.4.linear_attn.out_proj",
1130
+ "language_model.layers.4.linear_attn.in_proj_qkv",
1131
+ "language_model.layers.4.linear_attn.in_proj_z",
1132
+ "language_model.layers.4.mlp.gate_proj",
1133
+ "language_model.layers.4.mlp.up_proj",
1134
+ "language_model.layers.4.mlp.down_proj",
1135
+ "language_model.layers.5.linear_attn.out_proj",
1136
+ "language_model.layers.5.linear_attn.in_proj_qkv",
1137
+ "language_model.layers.5.linear_attn.in_proj_z",
1138
+ "language_model.layers.5.mlp.gate_proj",
1139
+ "language_model.layers.5.mlp.up_proj",
1140
+ "language_model.layers.5.mlp.down_proj",
1141
+ "language_model.layers.6.linear_attn.out_proj",
1142
+ "language_model.layers.6.linear_attn.in_proj_qkv",
1143
+ "language_model.layers.6.linear_attn.in_proj_z",
1144
+ "language_model.layers.6.mlp.gate_proj",
1145
+ "language_model.layers.6.mlp.up_proj",
1146
+ "language_model.layers.6.mlp.down_proj",
1147
+ "language_model.layers.7.self_attn.q_proj",
1148
+ "language_model.layers.7.self_attn.k_proj",
1149
+ "language_model.layers.7.self_attn.v_proj",
1150
+ "language_model.layers.7.self_attn.o_proj",
1151
+ "language_model.layers.7.mlp.gate_proj",
1152
+ "language_model.layers.7.mlp.up_proj",
1153
+ "language_model.layers.7.mlp.down_proj",
1154
+ "language_model.layers.8.linear_attn.out_proj",
1155
+ "language_model.layers.8.linear_attn.in_proj_qkv",
1156
+ "language_model.layers.8.linear_attn.in_proj_z",
1157
+ "language_model.layers.8.mlp.gate_proj",
1158
+ "language_model.layers.8.mlp.up_proj",
1159
+ "language_model.layers.8.mlp.down_proj",
1160
+ "language_model.layers.9.linear_attn.out_proj",
1161
+ "language_model.layers.9.linear_attn.in_proj_qkv",
1162
+ "language_model.layers.9.linear_attn.in_proj_z",
1163
+ "language_model.layers.9.mlp.gate_proj",
1164
+ "language_model.layers.9.mlp.up_proj",
1165
+ "language_model.layers.9.mlp.down_proj",
1166
+ "language_model.layers.10.linear_attn.out_proj",
1167
+ "language_model.layers.10.linear_attn.in_proj_qkv",
1168
+ "language_model.layers.10.linear_attn.in_proj_z",
1169
+ "language_model.layers.10.mlp.gate_proj",
1170
+ "language_model.layers.10.mlp.up_proj",
1171
+ "language_model.layers.10.mlp.down_proj",
1172
+ "language_model.layers.11.self_attn.q_proj",
1173
+ "language_model.layers.11.self_attn.k_proj",
1174
+ "language_model.layers.11.self_attn.v_proj",
1175
+ "language_model.layers.11.self_attn.o_proj",
1176
+ "language_model.layers.11.mlp.gate_proj",
1177
+ "language_model.layers.11.mlp.up_proj",
1178
+ "language_model.layers.11.mlp.down_proj",
1179
+ "language_model.layers.12.linear_attn.out_proj",
1180
+ "language_model.layers.12.linear_attn.in_proj_qkv",
1181
+ "language_model.layers.12.linear_attn.in_proj_z",
1182
+ "language_model.layers.12.mlp.gate_proj",
1183
+ "language_model.layers.12.mlp.up_proj",
1184
+ "language_model.layers.12.mlp.down_proj",
1185
+ "language_model.layers.13.linear_attn.out_proj",
1186
+ "language_model.layers.13.linear_attn.in_proj_qkv",
1187
+ "language_model.layers.13.linear_attn.in_proj_z",
1188
+ "language_model.layers.13.mlp.gate_proj",
1189
+ "language_model.layers.13.mlp.up_proj",
1190
+ "language_model.layers.13.mlp.down_proj",
1191
+ "language_model.layers.14.linear_attn.out_proj",
1192
+ "language_model.layers.14.linear_attn.in_proj_qkv",
1193
+ "language_model.layers.14.linear_attn.in_proj_z",
1194
+ "language_model.layers.14.mlp.gate_proj",
1195
+ "language_model.layers.14.mlp.up_proj",
1196
+ "language_model.layers.14.mlp.down_proj",
1197
+ "language_model.layers.15.self_attn.q_proj",
1198
+ "language_model.layers.15.self_attn.k_proj",
1199
+ "language_model.layers.15.self_attn.v_proj",
1200
+ "language_model.layers.15.self_attn.o_proj",
1201
+ "language_model.layers.15.mlp.gate_proj",
1202
+ "language_model.layers.15.mlp.up_proj",
1203
+ "language_model.layers.15.mlp.down_proj",
1204
+ "language_model.layers.16.linear_attn.out_proj",
1205
+ "language_model.layers.16.linear_attn.in_proj_qkv",
1206
+ "language_model.layers.16.linear_attn.in_proj_z",
1207
+ "language_model.layers.16.mlp.gate_proj",
1208
+ "language_model.layers.16.mlp.up_proj",
1209
+ "language_model.layers.16.mlp.down_proj",
1210
+ "language_model.layers.17.linear_attn.out_proj",
1211
+ "language_model.layers.17.linear_attn.in_proj_qkv",
1212
+ "language_model.layers.17.linear_attn.in_proj_z",
1213
+ "language_model.layers.17.mlp.gate_proj",
1214
+ "language_model.layers.17.mlp.up_proj",
1215
+ "language_model.layers.17.mlp.down_proj",
1216
+ "language_model.layers.18.linear_attn.out_proj",
1217
+ "language_model.layers.18.linear_attn.in_proj_qkv",
1218
+ "language_model.layers.18.linear_attn.in_proj_z",
1219
+ "language_model.layers.18.mlp.gate_proj",
1220
+ "language_model.layers.18.mlp.up_proj",
1221
+ "language_model.layers.18.mlp.down_proj",
1222
+ "language_model.layers.19.self_attn.q_proj",
1223
+ "language_model.layers.19.self_attn.k_proj",
1224
+ "language_model.layers.19.self_attn.v_proj",
1225
+ "language_model.layers.19.self_attn.o_proj",
1226
+ "language_model.layers.19.mlp.gate_proj",
1227
+ "language_model.layers.19.mlp.up_proj",
1228
+ "language_model.layers.19.mlp.down_proj",
1229
+ "language_model.layers.20.linear_attn.out_proj",
1230
+ "language_model.layers.20.linear_attn.in_proj_qkv",
1231
+ "language_model.layers.20.linear_attn.in_proj_z",
1232
+ "language_model.layers.20.mlp.gate_proj",
1233
+ "language_model.layers.20.mlp.up_proj",
1234
+ "language_model.layers.20.mlp.down_proj",
1235
+ "language_model.layers.21.linear_attn.out_proj",
1236
+ "language_model.layers.21.linear_attn.in_proj_qkv",
1237
+ "language_model.layers.21.linear_attn.in_proj_z",
1238
+ "language_model.layers.21.mlp.gate_proj",
1239
+ "language_model.layers.21.mlp.up_proj",
1240
+ "language_model.layers.21.mlp.down_proj",
1241
+ "language_model.layers.22.linear_attn.out_proj",
1242
+ "language_model.layers.22.linear_attn.in_proj_qkv",
1243
+ "language_model.layers.22.linear_attn.in_proj_z",
1244
+ "language_model.layers.22.mlp.gate_proj",
1245
+ "language_model.layers.22.mlp.up_proj",
1246
+ "language_model.layers.22.mlp.down_proj",
1247
+ "language_model.layers.23.self_attn.q_proj",
1248
+ "language_model.layers.23.self_attn.k_proj",
1249
+ "language_model.layers.23.self_attn.v_proj",
1250
+ "language_model.layers.23.self_attn.o_proj",
1251
+ "language_model.layers.23.mlp.gate_proj",
1252
+ "language_model.layers.23.mlp.up_proj",
1253
+ "language_model.layers.23.mlp.down_proj"
1254
+ ],
1255
+ "base_checkpoint": {
1256
+ "path": "mstrasser/jeff-base",
1257
+ "weights_sha256": {
1258
+ "model.safetensors": "d324dd6c9bb61b30af65564135b33f6892c30a9b2bd22667b2e09b9c8118cf77"
1259
+ },
1260
+ "revision": "v1.3"
1261
+ }
1262
+ },
1263
+ "prompt_layout": "live-last"
1264
+ }
example.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "spam",
3
+ "state": {
4
+ "channel": "sms",
5
+ "message": "Your parcel could not be delivered. Pay the 1.99 redelivery fee within 24 hours at parcel-redeliver-help.example to avoid return."
6
+ },
7
+ "questions": {
8
+ "is_spam": {
9
+ "type": "noul",
10
+ "instructions": "Is this message spam or phishing? Answer yes if it is unwanted bulk or advertising, or a scam trying to get personal details or money; answer no if it is a normal message.",
11
+ "criteria": {
12
+ "false": "The message is a normal message: not unwanted bulk or advertising, and not a scam.",
13
+ "true": "The message is spam (unwanted bulk or advertising) or phishing (a scam trying to get personal details, passwords or money)."
14
+ }
15
+ },
16
+ "message_type": {
17
+ "type": "choice",
18
+ "instructions": "What kind of message is this: a legitimate message, spam (unwanted bulk or advertising), or phishing (a scam trying to get personal details, passwords or money)?",
19
+ "criteria": {
20
+ "legitimate": "A normal message from a person or a genuine organisation, not spam and not phishing.",
21
+ "spam": "Unwanted bulk or advertising message (for example prizes, offers, premium-rate services), but not trying to steal personal or account details.",
22
+ "phishing": "A scam message that tries to trick the reader into giving personal details, passwords or money, often by pretending to be a bank, company or authority and asking them to click a link or call a number."
23
+ }
24
+ }
25
+ }
26
+ }
readout.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:345dae24199dfad0613685183c73370038086dcfe3920988b48a8b9594e2d238
3
+ size 522320
test.jsonl ADDED
The diff for this file is too large to render. See raw diff