File size: 2,913 Bytes
29162d0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
library_name: transformers
license: agpl-3.0
language:
  - it
base_model: unsloth/Qwen2.5-3B-bnb-4bit
tags:
  - swl
  - bcl
  - radioascolto
  - radioamatore
  - ham-radio
  - shortwave
  - italian
  - qwen2.5
  - unsloth
  - gguf
  - ollama
  - lora
  - qlora
  - finetuned
pipeline_tag: text-generation
---

# swlbot · Qwen2.5-3B fine-tunato per il radioascolto (SWL/BCL)

Modello **fine-tunato** con QLoRA su dominio **radioascolto / Short Wave Listening / BCL** in **italiano**.

Partenza: `unsloth/Qwen2.5-3B-bnb-4bit` (Qwen2.5-3B Instruct in 4-bit).
Dataset: coppie Q&A estratte da `radioascoltopratico.org`.

## 📻 Cosa sa fare

- Tecniche di antenna e ricezione HF
- Bande broadcasting internazionali e stazioni
- Ricevitori e software SDR
- Emittenti internazionali e orari/frequenze tipici
- Termini tecnici SWL/BCL in italiano

Il modello **risponde in italiano**, in modo pratico e diretto, con riferimenti concreti a frequenze, stazioni e strumenti reali.

## 📦 Contenuto del repo

| File | Descrizione |
|------|-------------|
| `swlbot-Q4_K_M.gguf` | Modello quantizzato **Q4_K_M** pronto per Ollama / llama.cpp |
| `adapter/adapter_config.json` | Config LoRA |
| `adapter/adapter_model.safetensors` | Adapter LoRA raw (per merge/inference con PEFT) |
| `Modelfile` | Modelfile Ollama (import in 1 comando) |

## 🚀 Utilizzo con Ollama

```bash
# Scarica il GGUF da HF (o usa il Modelfile incluso)
ollama create swlbot -f Modelfile
ollama run swlbot "Qual è la migliore frequenza per Radio Romania la sera?"
```

> ⚠️ Nel `Modelfile`, modifica il path `FROM` se carichi il GGUF localmente:
> ```
> FROM ./swlbot-Q4_K_M.gguf
> ```

## 🧪 Dettagli training (QLoRA)

| Parametro | Valore |
|-----------|--------|
| Base model | `unsloth/Qwen2.5-3B-bnb-4bit` |
| Metodo | QLoRA (4-bit) |
| LoRA rank | 8 |
| LoRA alpha | 16 |
| Target modules | q_proj, v_proj, k_proj, o_proj, gate_proj, up_proj |
| LoRA dropout | 0.05 |
| Epochs | 3 |
| Learning rate | 2e-4 |
| Batch size | 1 × 8 (effective 8) |
| Max seq length | 1024 |
| Train examples | 255 |
| Eval examples | 64 |
| Final loss | ~1.33 |

Export: `save_pretrained_gguf` di Unsloth (auto-merge LoRA → quantizzazione Q4_K_M).

## 🔗 Link utili

- Base model: [unsloth/Qwen2.5-3B-bnb-4bit](https://huggingface.co/unsloth/Qwen2.5-3B-bnb-4bit)
- Dataset source: articoli da `radioascoltopratico.org`
- Integrato in: [Consigliere di Stazione](https://github.com/111blackeagle111/consigliere-di-stazione) (log QSO + consigli AI)

## ⚠️ Limiti

- Modello leggero (3B): può allucinare su frequenze/stazioni specifiche — verifica sempre con fonti ufficiali (IARU, ARRL, WRTH).
- Conoscenza limitata al dataset di training (~255 esempi). Non è un manuale radio completo.
- Ottimizzato per risposte in **italiano**.

## 📝 Licenza

AGPL-3.0 (in linea con Unsloth). Deriva da Qwen2.5 (licenza Apache-2.0 del modello base).