Instructions to use sabeshbesh/angry-todo-caller-0.5b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use sabeshbesh/angry-todo-caller-0.5b with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("sabeshbesh/angry-todo-caller-0.5b") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use sabeshbesh/angry-todo-caller-0.5b with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "sabeshbesh/angry-todo-caller-0.5b"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "sabeshbesh/angry-todo-caller-0.5b" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use sabeshbesh/angry-todo-caller-0.5b with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "sabeshbesh/angry-todo-caller-0.5b"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default sabeshbesh/angry-todo-caller-0.5b
Run Hermes
hermes
- MLX LM
How to use sabeshbesh/angry-todo-caller-0.5b with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "sabeshbesh/angry-todo-caller-0.5b"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "sabeshbesh/angry-todo-caller-0.5b" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sabeshbesh/angry-todo-caller-0.5b", "messages": [ {"role": "user", "content": "Hello"} ] }'
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
4-bit