angry-todo-caller-0.5b

A 0.5B tool-calling model fine-tuned to turn natural-language (voice-transcribed) input into structured to-do actions. Built for on-device inference on Apple Silicon via MLX. Its only job is to emit a single JSON tool call from a user utterance.

Model details

  • Base model: MadeAgents/Hammer2.1-0.5b (Qwen2.5-Coder-0.5B lineage)
  • Technique: Supervised fine-tuning via LoRA on synthetic data, fused into the base weights
  • Parameters: ~0.5B
  • Intended runtime: MLX / mlx-swift on iOS and macOS; fits under 500 MB at 4-bit
  • Language: English

What it does

Given a single user utterance, the model outputs exactly one JSON object naming a tool and its arguments. It does not chat, explain, or call more than one tool. Non-actionable input (questions, chit-chat, read-only requests) returns an abstain object.

Supported tools

Tool Arguments Purpose
create_todo title, due Add a new to-do. due is a raw spoken phrase or null.
set_status target, status Mark a to-do "completed" or "todo".
update_todo target, title, due Edit a to-do. Unchanged fields are null.
delete_todo target Remove a to-do.
none — Abstain. Input is not a to-do action.

target is the to-do's title as spoken; the consuming app resolves it to an internal ID. due is left as a natural-language phrase for the app to parse (e.g. with NSDataDetector); the model does not compute dates.

Output format

Bare JSON, no wrapper tags, no surrounding text. Greedy decoding (temperature 0) recommended.

{"name":"create_todo","arguments":{"title":"Call the dentist","due":"tomorrow at 3"}}
{"name":"none"}

Usage (MLX)

mlx_lm.generate \
  --model sabeshbesh/angry-todo-caller-0.5b \
  --prompt "remind me to call the dentist tomorrow at 3" \
  --temp 0.0 --max-tokens 60

Training data

Synthetic dataset (~1,244 examples) covering the five output classes, generated from templated natural-language phrasings with voice-style disfluencies. Balanced across tools with an abstain class for non-actionable input. Single-turn, utterance-to-call only.

Limitations

  • Single-turn only. No clarification turns or multi-step calls.
  • Trained on a fixed pool of to-do titles, so validation accuracy on seen titles overstates real-world performance on novel ones.
  • Training transcripts are clean. Heavy ASR noise (run-ons, mid-sentence corrections) is under-represented.
  • English only.
  • Tool schema is fixed; adding or renaming tools requires retraining.

License

Inherits constraints from the base model. Intended for private/proprietary use.

Downloads last month
43
Safetensors
Model size
77.2M params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support