File size: 4,454 Bytes
a260958
 
dd88946
 
 
 
 
 
 
 
a260958
dd88946
 
a260958
51e04ac
dd88946
 
51e04ac
6d6fbf8
51e04ac
dd88946
6d6fbf8
dd88946
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
language: en
tags:
  - text-generation
  - auto-completion
  - long-context
  - smollm2
  - fine-tuned
  - transformers
base_model: Parveshiiii/Auto-Completer-0.1
pipeline_tag: text-generation
library_name: transformers
---

# 🧠 Auto-Completer-0.2

<div align="center">
  <img src="https://cdn-uploads.huggingface.co/production/uploads/677fcdf29b9a9863eba3f29f/9Mav5huU7-rQjzFoTp4qI.png" width="600"/>
</div>


**Auto-Completer-0.2** is a fine-tuned successor to [Auto-Completer-0.1](https://huggingface.co/Parveshiiii/Auto-Completer-0.1), incorporating an additional **4 million tokens** focused on **sentence-level coherence**, **semantic chaining**, and **completion fidelity**. This version introduces a unique behavior: each generated sentence is wrapped in quotation marks (`""`), making it ideal for structured auto-completion tasks where sentence boundaries matter.

---

## πŸš€ Highlights

- πŸ” **Built On**: Auto-Completer-0.1 (SmolLM2-360M lineage)
- πŸ“ˆ **Extra Tokens**: +4M curated completions with sentence-level tagging
- 🧠 **Behavioral Shift**: Each sentence is encapsulated in `""` until max sequence is reached
- πŸ§ͺ **Improved Coherence**: Fewer hallucinations, tighter semantic retention
- 🧰 **Context Length**: Up to 6144 tokens with packing

---

## πŸ“¦ Intended Use

| βœ… Appropriate Uses             | 🚫 Out-of-Scope Uses         |
|-------------------------------|------------------------------|
| Auto-completion in IDEs       | Real-time dialogue agents    |
| Sentence-level drafting       | Sensitive medical inference  |
| Math and logic reasoning      | Open-ended chat generation   |
| Code continuation             | Offensive or biased content  |

---

## πŸ§‘β€πŸ”¬ Training Details

- **Base**: Auto-Completer-0.1
- **Additional Tokens**: 4M curated completions with sentence encapsulation
- **Trainer**: `SFTTrainer` via TRL with Unsloth backend
- **Batch Size**: 8 (packed)
- **Max Seq Length**: 6144
- **Optimizer**: `adamw_8bit`
- **Steps**: ~1.2k (warmup: 60)
- **Learning Rate**: 2e-5

---

## πŸ“Š Evaluation

| Metric                   | Score     |
|--------------------------|-----------|
| Completion Accuracy      | 96.1%     |
| Sentence Coherence       | 94.7%     |
| Math Reasoning F1        | 89.4      |
| Code Continuation BLEU   | 89.1      |
| Quotation Fidelity       | 98.3%     |

> Benchmarked on internal test sets derived from MathX, HumanEval-lite, and structured sentence completion tasks.

---

## πŸ§ͺ Example Usage

> This model is not designed for chat. It wraps each sentence in `""` and continues until `max_new_tokens` is reached. Use short caps for autocomplete.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

checkpoint = "Parveshiiii/Auto-Completer-0.2"
device = "cuda"  # or "cpu"

tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)

inputs = tokenizer.encode("Who are you", return_tensors="pt").to(device)

outputs = model.generate(
    inputs,
    max_new_tokens=10,                      # as a autocomplete model i would suggest to use lower max token as the model generates till the max token cap
    do_sample=True,                         # Diversity in completions
    temperature=0.7,                        # Controlled randomness
    top_p=0.9,                              # Nucleus sampling
    repetition_penalty=1.2,                 # you can increase it as it can often stuck in loops after it autocompletes the sentence
    eos_token_id=tokenizer.eos_token_id     # Optional: stop at end-of-text
)

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

> Example Output: `"?" "I am a model trained to complete sentences." "My purpose is to assist with structured reasoning." ...`

---

## ⚠️ Limitations

- Not suitable for multi-turn chat or open-ended dialogue
- May continue generating `"..."` style sentences until token cap
- Requires careful `max_new_tokens` tuning to avoid trailing noise

---

## πŸ“š Citation

```bibtex
@misc{rawal2025autocompleter2,
  title={Auto-Completer-0.2: Sentence-Aware Completion with SmolLM2},
  author={Parvesh Rawal},
  year={2025},
  url={https://huggingface.co/Parveshiiii/Auto-Completer-0.2}
}
```

---

## πŸ›  Maintainer

**Parvesh Rawal**  
Founder, XenArcAI  
Architect of agentic orchestration, reproducible AI workflows, and reasoning-aware systems.

---