File size: 2,318 Bytes
075d97c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
language:
- en
license: apache-2.0
base_model: Qwen/Qwen2.5-Coder-1.5B
tags:
- qwen
- qwen2.5
- json
- structured-outputs
- gguf
- llama-cpp
pipeline_tag: text-generation
---

# Unpaid JSON Generator (Qwen-1.5B)

           { }
     { "status": "no_yap" }
           [ ]

### What is this?
A lobotomized, hyper-focused version of `Qwen2.5-Coder-1.5B` stripped of its desire to be polite, conversational, or helpful.

Its sole reason for existence is to look at unstructured garbage (messy CSVs, server crash dumps, stream-of-consciousness notes) and spit out RFC-compliant, syntax-valid JSON objects without emitting so much as a single *"Sure! Here is the JSON you requested:"*.

If you try to have a heart-to-heart with it, it will probably return `{"error": "talk_to_a_therapist_not_a_json_parser"}`.

---

### Core Philosophy
* **Chatter Level:** 0.00%
* **First Token:** Guaranteed `{` or `[`
* **Markdown Fences:** Completely eradicated. Zero markdown code fences to `strip()` out of your downstream backend.
* **Typing:** Actually knows the difference between `42` (number), `"42"` (string), and `true` (boolean). Doesn't wrap everything in quotes like a terrified intern.

---

### Key Specs

| Attribute | Spec |
| :--- | :--- |
| **Base Model** | `Qwen/Qwen2.5-Coder-1.5B` |
| **Parameters** | 1,543,714,816 (~1.54B) |
| **Training Recipe** | Full BF16 SFT on 15,000 AST-verified Schema -> JSON pairs |
| **Prompt Masking** | Aggressive `-100` cross-entropy masking on all conversational tags |
| **Context Window** | 1,024 - 2,048 tokens |
| **Quantized Footprint** | ~980 MB (`Q4_K_M` GGUF) |
| **Speed** | ~14-55 tok/s on CPU; 120+ tok/s on modern silicon |

---

### How to Prompt It (ChatML)

Don't overcomplicate it. Give it data, tell it what keys to hit, and let it serialize:

    <|im_start|>system
    You are a strict JSON generator. Respond ONLY with valid JSON.<|im_end|>
    <|im_start|>user
    station_id,city,date,temp_max,temp_min,precipitation_mm,humidity_pct,wind_speed_kmh,condition
    STN001,Seattle,2026-11-01,12.8,5.0,0.0,76,4.7,drizzle<|im_end|>
    <|im_start|>assistant
    {"station_id": "STN001", "city": "Seattle", "date": "2026-11-01", "temp_max": 12.8, "temp_min": 5.0, "precipitation_mm": 0, "humidity_pct": 76, "wind_speed_kmh": 4.7, "condition": "Drizzle"}<|im_end|>