Instructions to use nicolasramos/odooclaw-light-1.2b-ft-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use nicolasramos/odooclaw-light-1.2b-ft-mlx 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("nicolasramos/odooclaw-light-1.2b-ft-mlx") 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 nicolasramos/odooclaw-light-1.2b-ft-mlx with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "nicolasramos/odooclaw-light-1.2b-ft-mlx"
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": "nicolasramos/odooclaw-light-1.2b-ft-mlx" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use nicolasramos/odooclaw-light-1.2b-ft-mlx with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "nicolasramos/odooclaw-light-1.2b-ft-mlx"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "nicolasramos/odooclaw-light-1.2b-ft-mlx" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use nicolasramos/odooclaw-light-1.2b-ft-mlx with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "nicolasramos/odooclaw-light-1.2b-ft-mlx"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "nicolasramos/odooclaw-light-1.2b-ft-mlx" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nicolasramos/odooclaw-light-1.2b-ft-mlx", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use nicolasramos/odooclaw-light-1.2b-ft-mlx 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 "nicolasramos/odooclaw-light-1.2b-ft-mlx"
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 nicolasramos/odooclaw-light-1.2b-ft-mlx
Run Hermes
hermes
OdooClaw Light 1.2B FT — MLX
An AI agent for Odoo that anyone can run — even on a Mac Mini with 8GB of RAM.
MLX 4-bit version (Apple Silicon) of the OdooClaw Light 1.2B FT model. Fine-tuned LFM2.5-1.2B-Instruct for tool calling inside Odoo (ERP) via MCP. Ask in natural language in the Odoo chat and the model picks the right Odoo tool.
Why this model
We tested the entire family of small models and chose the sweet spot:
- LFM2.5-1.2B (this model, fine-tuned): correct tool calls, survives real multi-turn conversations, 628MB in 4-bit
- Smaller models (0.35B): fast, but collapse with any conversation history — unacceptable for a chat
- Bigger models (2.6B): work, but 2-4x slower on CPU and twice the memory
We deliberately traded a bit of raw latency for real conversation quality. A chat agent that forgets the previous turn is useless, no matter how fast it is.
What makes it work
- Retrieval top-5: the gateway only injects the 5 most relevant tools per query (of 124 Odoo tools) — small models can't handle 124 schemas
- Native tool calls: LFM2.5 emits
<|tool_call_start|>[tool_name(arg='val')]<|tool_call_end|>— mlx_lm converts it to structured tool calls - Fine-tuned on 24K teacher-generated examples (local Qwen3.6 teacher, zero cloud cost), including multi-turn history examples
- Deterministic record links: the gateway appends clickable
/odoo/contacts/{id}links to responses
Performance (MLX, Apple Silicon)
Machine: Mac Mini M1, 8GB RAM, 8 cores — the cheapest Mac that runs Odoo:
| Metric | Value |
|---|---|
| Model load | 0.4s |
| RAM used (RSS) | ~1.1GB (of 8GB — leaves 7GB free) |
| Tool call ("Busca el cliente Acme") | 1.2s → find_partner(name='Acme') ✅ |
| Tool call with conversation history | 0.6s → survives multi-turn ✅ |
| Generation speed | 146.4 tok/s |
| Reference: MacBook M1 Max (32GB) | 265.1 tok/s |
Bottom line: an entire Odoo AI agent runs on the cheapest Apple Silicon Mac — 1.1GB of RAM, sub-second tool calls, even with conversation history.
Files
model.safetensors(628MB, 4-bit quantized)config.json,tokenizer.json,chat_template.jinja
Usage (mlx-lm)
pip install mlx-lm
python -c "
from mlx_lm import load, generate
model, tokenizer = load('nicolasramos/odooclaw-light-1.2b-ft-mlx')
messages = [
{'role': 'system', 'content': 'Eres odooclaw, un asistente que gestiona Odoo ERP.'},
{'role': 'user', 'content': 'Busca el cliente Acme'},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
print(generate(model, tokenizer, prompt=prompt, max_tokens=100))
"
Output: <|tool_call_start|>[mcp_odoo-mcp_odoo_find_partner(limit=10, name='Acme')]<|tool_call_end|>
License
Apache 2.0 — free for everyone, that's the whole point.
- Downloads last month
- -
4-bit
Model tree for nicolasramos/odooclaw-light-1.2b-ft-mlx
Base model
LiquidAI/LFM2.5-1.2B-Base