File size: 10,679 Bytes
e55bcb6
 
 
429b96a
79e6bbc
e55bcb6
 
89da98b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79e6bbc
1f12259
89da98b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e55bcb6
1f12259
89da98b
 
 
 
1f12259
89da98b
 
 
 
 
 
 
 
 
6a0e36b
89da98b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79e6bbc
89da98b
 
 
 
 
1f12259
89da98b
79e6bbc
89da98b
 
 
 
 
1f12259
89da98b
e55bcb6
89da98b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79e6bbc
39676bc
89da98b
 
 
 
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
---
license: apache-2.0
language:
- en
library_name: transformers
pipeline_tag: text-generation
tags:
  - transformers
  - qwen2.5
  - qwen2.5-coder
  - code-generation
  - agent
  - tool-calling
  - function-calling
  - sakthai
  - house-of-sak
  - no-weights
  - skeleton
  - cpu-inference
  - llama.cpp
  - ollama
  - offline
  - eval-results
base_model: Qwen/Qwen2.5-Coder-1.5B-Instruct
datasets:
  - Nanthasit/sakthai-combined-v7
inference:
  parameters:
    temperature: 0.2
    max_new_tokens: 1024
    top_p: 0.9
  widget:
    - text: "Write a Python function that checks if a string is a palindrome, ignoring spaces and punctuation."
      output:
        text: "```python\ndef is_palindrome(s: str) -> bool:\n    \"\"\"Check if a string is a palindrome, ignoring spaces, punctuation, and case.\"\"\"\n    import re\n    cleaned = re.sub(r'[^a-zA-Z0-9]', '', s).lower()\n    return cleaned == cleaned[::-1]\n```"
    - text: "Sort an array of numbers in JavaScript"
      output:
        text: "```javascript\nfunction bubbleSort(arr) {\n  const a = arr.slice();\n  for (let i = 0; i < a.length; i++) {\n    for (let j = 0; j < a.length - i - 1; j++) {\n      if (a[j] > a[j + 1]) {\n        const tmp = a[j];\n        a[j] = a[j + 1];\n        a[j + 1] = tmp;\n      }\n    }\n  }\n  return a;\n}\n```"
model-index:
  - name: SakThai Plus 1.5B Coder
    results:
      - task:
          type: text-generation
          name: Code Generation Reference
        dataset:
          type: mbpp
          name: MBPP
        metrics:
          - type: pass@1
            value: 71.2
            name: MBPP pass@1 (base model reference)
            verified: false
            date: 2026-07-31
            notes: Inherited from Qwen/Qwen2.5-Coder-1.5B-Instruct; not measured on this fine-tune yet.
      - task:
          type: text-generation
          name: Local Tool-Calling Smoke
        dataset:
          type: custom
          name: SakThai tool-call smoke
        metrics:
          - type: valid-json
            value: pending
            name: Valid JSON rate
            verified: false
            date: 2026-08-01
            notes: Weights not uploaded; benchmark will run after first artifact push.
      - task:
          type: text-generation
          name: Hosted Inference Check
        dataset:
          type: custom
          name: HF router probe
        metrics:
          - type: availability
            value: 0
            name: Router availability
            verified: true
            date: 2026-08-01
            notes: Router returns model_not_supported because no weights are present in the repo.
extra:
  sibling: Nanthasit/sakthai-coder-1.5b
---

<p align="center">
  <strong>Qwen2.5-Coder 1.5B variant for code + tool use Β· weights placeholder + workflow</strong><br/>
  <em>Roadmap model in the SakThai family Β· <a href="https://huggingface.co/collections/Nanthasit/sakthai-model-family-6a64745450b12d421c1f9f02">SakThai Model Family</a></em>
</p>

<p align="center">
  <a href="https://huggingface.co/Nanthasit"><img src="https://img.shields.io/badge/%F0%9F%A4%97-Nanthasit-6644cc" alt="Profile"/></a>
  <a href="https://github.com/beer-sakthai"><img src="https://img.shields.io/badge/GitHub-beer--sakthai-181717?logo=github" alt="GitHub"/></a>
  <a href="https://huggingface.co/collections/Nanthasit/sakthai-model-family-6a64745450b12d421c1f9f02"><img src="https://img.shields.io/badge/%F0%9F%8F%A0-SakThai%20Family-6644cc" alt="Collection"/></a>
  <img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fmodels%2FNanthasit%2Fsakthai-plus-1.5b-coder&query=%24.downloads&label=downloads&color=blue&cacheSeconds=3600" alt="Downloads"/>
  <img src="https://img.shields.io/badge/params-1.5B-blueviolet" alt="Params"/>
  <img src="https://img.shields.io/badge/license-Apache%202.0-green" alt="License"/>
  <img src="https://img.shields.io/badge/status-weights%20placeholder-orange" alt="Status"/>
</p>

---

## Model Description

**SakThai Plus 1.5B Coder** is the coder-focused member of the SakThai Plus family. It is based on `Qwen/Qwen2.5-Coder-1.5B-Instruct` and targets two workflows: **code generation** and **tool-calling from code-oriented prompts**. This repository currently holds the recipe, metadata, and eval artifacts; weights are not uploaded yet.

This card exists so the training pipeline, evaluation history, and downstream integration points have a stable, versioned entry in the HF Hub. Once weights are pushed, it will become directly loadable with `transformers` and serveable with `llama.cpp` / Ollama from the repo.

**Why this repo matters in the family:**
- πŸ§‘β€πŸ’» **Code-first base:** `Qwen2.5-Coder-1.5B-Instruct` is a strong small-code model; this slot preserves the SakThai tool-calling adaptations for code use cases.
- πŸ”§ **Tool-calling discipline:** trained with code/agent instruction mix from `sakthai-combined-v7`.
- πŸ“¦ **GGUF-ready path:** once weights exist, the intended artifact is `q4_k_m` for CPU inference.
- πŸ§ͺ **Live eval history:** `.eval_results/` contains cron metadata snapshots and smoke probes from 2026-07-30 to 2026-08-01.

## Status

| Item | State |
|------|-------|
| Weights | ❌ Not uploaded yet |
| GGUF | ❌ Not uploaded yet |
| Config / metadata | βœ… Present |
| Eval history | βœ… `.eval_results/` snapshots present |
| Hub inference | ❌ Router returns `model_not_supported` until weights are pushed |

If you need a working SakThai coder model today, use:
- [Nanthasit/sakthai-coder-1.5b](https://huggingface.co/Nanthasit/sakthai-coder-1.5b)
- [Nanthasit/sakthai-context-1.5b-merged-v2](https://huggingface.co/Nanthasit/sakthai-context-1.5b-merged-v2)

## How to Use

This repository is a **workflow placeholder** until weights are uploaded. Below are the two intended paths once weights are present.

### Option A β€” Load with transformers (future)

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Nanthasit/sakthai-plus-1.5b-coder"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [
    {"role": "system", "content": "You are SakThai-Coder, a helpful coding assistant."},
    {"role": "user", "content": "Write a Python function that checks if a string is a palindrome."},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False)
inputs = tokenizer(prompt, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(out[0], skip_special_tokens=True))
```

### Option B β€” CPU / offline inference via GGUF (future)

```bash
# After weights/GGUF are pushed:
huggingface-cli download Nanthasit/sakthai-plus-1.5b-coder --include "*.gguf" --local-dir ./
llama-cli -m sakthai-plus-1.5b-coder-q4_k_m.gguf \
  --prompt "[INST] Write a Python function that checks if a string is a palindrome. [/INST]" \
  -n 256
```

## Training Details

| Detail | Value |
|--------|-------|
| **Base model** | `Qwen/Qwen2.5-Coder-1.5B-Instruct` |
| **Dataset** | [Nanthasit/sakthai-combined-v7](https://huggingface.co/datasets/Nanthasit/sakthai-combined-v7) |
| **Framework** | Transformers + PEFT/LoRA-family recipe |
| **License** | Apache 2.0 |

## Evaluation & Benchmarks

This repo does **not yet** have verified model-level scores because there are no weights to load. The closest available references:

| Benchmark | Source | Status |
|-----------|--------|--------|
| MBPP pass@1 | Base model `Qwen2.5-Coder-1.5B-Instruct` | Inherited; not measured on this fine-tune |
| HF router inference | `.eval_results/benchmark-20260731_192407.yaml` | `model_not_supported` until weights are uploaded |
| Code smoke | `.eval_results/inference-check-2026-07-31.yaml` | Not runnable in this environment; metadata snapshot only |

When weights are pushed, rerun:
```bash
llama-bench sakthai-plus-1.5b-coder-q4_k_m.gguf
```
and add results to `.eval_results/`.

## Limitations

- **No weights uploaded yet.** This repo is currently a metadata / workflow placeholder.
- **No standalone benchmarks yet.** Published numbers are inherited from the base model, not this SakThai fine-tune.
- **No hosted inference.** HF inference providers cannot serve a repo without weights.
- **Code quality depends on prompt format.** This slot is tuned for tool + code prompts; plain chat performance may differ from the base instruct checkpoint.
- **Small-model tradeoffs.** At 1.5B parameters, complex multi-file reasoning and very long context may degrade.

## SakThai Model Family

| Model | Downloads | Role |
|-------|-----------|------|
| [Context 1.5B Merged](https://huggingface.co/Nanthasit/sakthai-context-1.5b-merged) | 1,855 | Flagship tool-calling |
| [Context 0.5B Merged](https://huggingface.co/Nanthasit/sakthai-context-0.5b-merged) | 1,730 | Lightweight edge |
| [Context 7B Merged](https://huggingface.co/Nanthasit/sakthai-context-7b-merged) | 1,055 | High-power reasoning |
| **Plus 1.5B Coder** β¬… | **0 / planned** | **Code + tool placeholder** |
| [Coder 1.5B](https://huggingface.co/Nanthasit/sakthai-coder-1.5b) | 173 | Ready coder variant |

[View the whole family collection](https://huggingface.co/collections/Nanthasit/sakthai-model-family-6a64745450b12d421c1f9f02)

## The House of Sak 🏠

Built from a shelter in Cork, Ireland, with **$0 budget** and no paid GPUs. This repo is part of an open-source ecosystem where every artifact is meant to be usable, auditable, and reproducible.

> *"We are one family β€” and becoming more."* β€” Beer (beer-sakthai)

---

## Support

- ⭐ Leave a like when weights are available
- πŸ› Report issues on [GitHub](https://github.com/beer-sakthai/Sak-Family-Agent)
- πŸ”„ Share with anyone building accessible coding agents
- 🍴 Fork and experiment β€” Apache 2.0

---

## Citation

```bibtex
@misc{sakthai-plus-1.5b-coder,
  title  = {SakThai Plus 1.5B Coder},
  author = {Beer (beer-sakthai) and SakThai},
  year   = {2026},
  url    = {https://huggingface.co/Nanthasit/sakthai-plus-1.5b-coder},
  note   = {Apache 2.0; weights placeholder based on Qwen/Qwen2.5-Coder-1.5B-Instruct}
}
```

If you use the base architecture, also cite:

```bibtex
@misc{qwen2.5-coder-2024,
  title  = {Qwen2.5-Coder},
  author = {Qwen Team},
  year   = {2024},
  url    = {https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct}
}
```

---

## License

Apache 2.0. Base model `Qwen/Qwen2.5-Coder-1.5B-Instruct` retains its original license.

---

*Built from a shelter in Cork, Ireland. Built with love, tears, and zero budget β€” to the world.*

*HF repo metadata API-verified 2026-08-01T10:39Z.*