Files
Ailo152m-events-en/README.md
ModelHub XC f0da91fe9f 初始化项目,由ModelHub XC社区提供模型
Model: xxrickyxx/Ailo152m-events-en
Source: Original Platform
2026-09-10 00:30:18 +08:00

104 lines
3.9 KiB
Markdown

---
license: cc-by-nc-sa-4.0
language:
- en
tags:
- text-generation
- information-extraction
- structured-output
- json
- ner
- small-language-model
- edge-ai
- on-device
- ollama
- gguf
- calendar
pipeline_tag: text-generation
library_name: gguf
model-index:
- name: AILO-152M-Events-EN
results: []
---
# AILO-152M-Events-EN Natural language → calendar-event JSON ⚡
> **A 152M-parameter specialist** that turns an English sentence into a clean **event JSON** — title, date, time, location, participants — and runs on almost anything.
This is a **task-specialist** built on AILO-152M. It does one thing and does it well: read an event description in plain English and output structured JSON. Tiny, fast, deterministic — ideal as the parsing brain of a calendar app, assistant, or automation.
```bash
ollama run Alieno/ailo-152m-events-en
>>> Lunch with Sarah tomorrow at 1pm at the new Italian place
{"title": "lunch", "date": "tomorrow", "time": "13:00", "location": "the new Italian place", "participants": ["Sarah"]}
```
## Schema
```json
{"title": str, "date": str|null, "time": "HH:MM"|null, "location": str|null, "participants": [str]}
```
- **time is normalized** to 24h `HH:MM`*"at 3pm"*`15:00`, *"half past 7"*`07:30`, *"at noon"*`12:00`.
- **date is extracted as written** (*"tomorrow"*, *"next Friday"*, *"March 15"*) — it is **not** resolved to a calendar date (the model has no clock).
- Missing fields → `null`; no participants → `[]`.
## Benchmarks (held-out test set, 1500 unseen examples)
| Metric | Score |
|---|---|
| **Valid JSON** | **100%** |
| Full object exact-match | 83.7% |
| `title` | 97.3% |
| `date` | 88.3% |
| `time` (normalized) | **100%** |
| `location` | 97.0% |
| `participants` | 97.3% |
It also **generalizes to real, free-form sentences** (it learned to *copy spans*, not classify to a fixed list): *"Call mom tonight"*`{"title": "call mom", ...}`, *"Birthday party Saturday at Jake's place with everyone"*`{"title": "birthday party", "location": "Jake's place", "participants": ["everyone"]}`.
## Use it in an app
```bash
curl http://localhost:11434/api/chat -d '{
"model": "Alieno/ailo-152m-events-en",
"messages": [{"role": "user", "content": "Quick sync with the dev team Monday 10am on Zoom"}],
"stream": false,
"options": {"temperature": 0.0}
}'
# -> {"title":"quick sync","date":"Monday","time":"10:00","location":"on Zoom","participants":["the dev team"]}
```
Tags: `:latest` / `:q8_0` (best, 156 MB) · `:q4_k_m` (smallest, 97 MB) · `:f16` (291 MB).
Run with **temperature 0** for deterministic JSON. `repeat_penalty` is kept low (1.05) so JSON punctuation isn't penalized.
## Details
| Property | Value |
|---|---|
| Parameters | 151.9M |
| Architecture | Decoder-only Transformer (LayerNorm · RoPE · SwiGLU), 12L/768/12H, ctx 512 |
| Base | AILO-152M-v2 → specialized on event-extraction |
| Training | 26k synthetic (sentence → JSON) pairs, open/compositional vocabulary (~2000 unique titles) so the model learns to **copy spans** |
| Formats | GGUF (q4_k_m, q8_0, f16) + PyTorch |
## Limitations
- **Dates are not resolved** to absolute dates — the phrase is extracted as-is.
- Unusual date phrasings (*"the 23rd of March"*) may drop the day number.
- Single event per input; English only; 512-token context (short sentences).
- For exact calendar entries, resolve the relative date downstream with the user's timezone/clock.
## License & contact
Dual-license: **CC BY-NC-SA 4.0** (free for research/education/personal) + **commercial** by separate agreement.
**Riccardo Sparacino** — [LinkedIn](https://www.linkedin.com/in/riccardo-sparacino-developer-php-javascript-mysql-app-ios-android/)
```bibtex
@misc{ailo152m_events_en_2026,
title = {AILO-152M-Events-EN: A tiny natural-language-to-event-JSON specialist},
author = {Sparacino, Riccardo}, year = {2026},
note = {Dual-licensed CC BY-NC-SA 4.0 / commercial}
}
```