104 lines
3.8 KiB
Markdown
104 lines
3.8 KiB
Markdown
---
|
|
license: cc-by-nc-sa-4.0
|
|
language:
|
|
- it
|
|
tags:
|
|
- text-generation
|
|
- information-extraction
|
|
- structured-output
|
|
- json
|
|
- ner
|
|
- small-language-model
|
|
- edge-ai
|
|
- on-device
|
|
- ollama
|
|
- gguf
|
|
- calendar
|
|
- italian
|
|
pipeline_tag: text-generation
|
|
library_name: gguf
|
|
model-index:
|
|
- name: AILO-152M-Events-IT
|
|
results: []
|
|
---
|
|
|
|
# AILO-152M-Events-IT Linguaggio naturale italiano → evento JSON 🇮🇹⚡
|
|
|
|
> **Uno specialista da 152M** che trasforma una frase italiana in un **evento JSON** pulito — titolo, data, ora, luogo, partecipanti — e gira quasi ovunque.
|
|
|
|
Specialista di un solo compito, costruito su AILO-152M: legge la descrizione di un evento in italiano e produce JSON strutturato. Minuscolo, veloce, deterministico — ideale come "parser" di un'app calendario, un assistente o un'automazione.
|
|
|
|
```bash
|
|
ollama run Alieno/ailo-152m-events-it
|
|
>>> Pranzo con Sara domani alle 13 al nuovo ristorante giapponese
|
|
{"titolo": "pranzo", "data": "domani", "ora": "13:00", "luogo": "ristorante giapponese", "partecipanti": ["Sara"]}
|
|
```
|
|
|
|
## Schema
|
|
|
|
```json
|
|
{"titolo": str, "data": str|null, "ora": "HH:MM"|null, "luogo": str|null, "partecipanti": [str]}
|
|
```
|
|
|
|
- **ora normalizzata** a 24h `HH:MM` — *"alle 3 del pomeriggio"* → `15:00`, *"alle 7 e mezza"* → `07:30`, *"a mezzogiorno"* → `12:00`.
|
|
- **data estratta com'è scritta** (*"domani"*, *"venerdì prossimo"*, *"15 marzo"*) — **non** risolta in data di calendario (il modello non ha un orologio).
|
|
- Campi assenti → `null`; nessun partecipante → `[]`.
|
|
|
|
## Benchmark (test set held-out, 1500 esempi mai visti)
|
|
|
|
| Metrica | Valore |
|
|
|---|---|
|
|
| **JSON valido** | **100%** |
|
|
| Oggetto esatto | 85.7% |
|
|
| `titolo` | 97.7% |
|
|
| `data` | **100%** |
|
|
| `ora` (normalizzata) | 99.7% |
|
|
| `luogo` | 87.3% |
|
|
| `partecipanti` | 97.7% |
|
|
|
|
**Generalizza** su frasi libere reali (ha imparato a *copiare lo span*, non a classificare): *"Chiama la mamma stasera"* → `{"titolo": "chiamare la mamma", ...}`, *"Festa di compleanno sabato da Luca con tutti"* → `{"titolo": "festa di compleanno", "luogo": "da Luca", "partecipanti": ["tutti"]}`.
|
|
|
|
## Usarlo in un'app
|
|
|
|
```bash
|
|
curl http://localhost:11434/api/chat -d '{
|
|
"model": "Alieno/ailo-152m-events-it",
|
|
"messages": [{"role": "user", "content": "Riunione veloce col team lunedì alle 10 su Zoom"}],
|
|
"stream": false,
|
|
"options": {"temperature": 0.0}
|
|
}'
|
|
```
|
|
|
|
Tag: `:latest` / `:q8_0` (migliore, 156 MB) · `:q4_k_m` (più piccolo, 97 MB) · `:f16` (291 MB).
|
|
Usa **temperature 0** per JSON deterministico; `repeat_penalty` basso (1.05) così la punteggiatura del JSON non viene penalizzata.
|
|
|
|
## Dettagli
|
|
|
|
| Proprietà | Valore |
|
|
|---|---|
|
|
| Parametri | 151,9M |
|
|
| Architettura | Transformer decoder-only (LayerNorm · RoPE · SwiGLU), 12L/768/12H, ctx 512 |
|
|
| Base | AILO-152M-v2-ITA → specializzato sull'estrazione eventi |
|
|
| Training | 26k coppie sintetiche (frase → JSON), vocabolario aperto/compositivo (~1500 titoli unici) per imparare a **copiare lo span** |
|
|
| Formati | GGUF (q4_k_m, q8_0, f16) + PyTorch |
|
|
|
|
## Limiti
|
|
|
|
- **Le date non vengono risolte** in date assolute — la frase è estratta com'è.
|
|
- Forme orarie/locuzioni rare (*"all'una"*, *"col"* al posto di *"con il"*) possono sfuggire.
|
|
- Un evento per input; solo italiano; contesto 512 token (frasi brevi).
|
|
- Per voci di calendario esatte, risolvi la data relativa a valle con fuso/orologio dell'utente.
|
|
|
|
## Licenza & contatti
|
|
|
|
Doppia licenza: **CC BY-NC-SA 4.0** (libera per ricerca/didattica/uso personale) + **commerciale** con accordo separato.
|
|
**Riccardo Sparacino** — [LinkedIn](https://www.linkedin.com/in/riccardo-sparacino-developer-php-javascript-mysql-app-ios-android/)
|
|
|
|
```bibtex
|
|
@misc{ailo152m_events_it_2026,
|
|
title = {AILO-152M-Events-IT: estrattore italiano da linguaggio naturale a evento JSON},
|
|
author = {Sparacino, Riccardo}, year = {2026},
|
|
note = {Dual-licensed CC BY-NC-SA 4.0 / commerciale}
|
|
}
|
|
```
|