File size: 2,318 Bytes
cf5a303
 
4e16cc7
cf5a303
4e16cc7
 
 
 
 
 
 
 
 
cf5a303
4e16cc7
 
 
c207d2c
4e16cc7
 
 
c207d2c
4e16cc7
 
 
c207d2c
 
7b92d75
4e16cc7
 
 
c207d2c
 
 
 
 
 
 
 
 
 
 
 
 
 
4e16cc7
c207d2c
 
 
4e16cc7
 
 
c207d2c
 
7b92d75
c207d2c
 
 
 
 
 
 
 
 
 
 
 
 
 
c1e5c7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: other
license_name: ccpl-1.0
license_link: LICENSE
language:
- en
pipeline_tag: text-generation
tags:
- code
- qwen2
- gguf
- 280m
library_name: transformers
---

# CalmaCatCoder-280M

**CalmaCatCoder-280M** is a compact and ultra-fast 280M language model trained from scratch for Python code generation.

---

## ⚡ Specs

* **Architecture:** Transformer / Causal LM (Qwen2-like)
* **Parameters:** ~280M
* **Language:** English (Code)
* **Format:** ChatML
* **Context:** 4096

---

## 📜 License

Distributed under the **CalmaCat Public License (CCPL-1.0)**. See [LICENSE](./LICENSE) for details.

---

<details>
<summary><b>🇷🇺 Нажмите, чтобы открыть описание на русском языке (Click to expand Russian description)</b></summary>

<br>

# CalmaCatCoder-280M

**CalmaCatCoder-280M** — компактная и ультрабыстрая языковая модель на 280 млн параметров, обученная с нуля для генерации кода на Python. 

---

## ⚡ Характеристики

* **Архитектура:** Transformer / Causal LM (Qwen2-like)
* **Объём параметров:** ~280 млн
* **Основной язык:** English (Код)
* **Формат диалога:** ChatML
* **Контекст:** 4096

---

## 📜 Лицензия

Распространяется под кастомной открытой лицензией **CalmaCat Public License (CCPL-1.0)**. 
Полный текст см. в файле [LICENSE](./LICENSE).

</details>

---

## 🚀 Quick Start / Быстрый запуск

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "ViorikaAI-org/CalmaCatCoder"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto"
)

prompt = "<|im_start|>user\nWrite a Python function for binary search.<|im_end|>\n<|im_start|>assistant\n"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
    **inputs,
    max_new_tokens=256,
    temperature=0.6,
    top_p=0.9,
    repetition_penalty=1.25,
    do_sample=True
)

print(tokenizer.decode(outputs[0], skip_special_tokens=False))
```