Instructions to use nicolasramos/odooclaw-medium-2.6b-ft-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use nicolasramos/odooclaw-medium-2.6b-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-medium-2.6b-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-medium-2.6b-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-medium-2.6b-ft-mlx"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/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-medium-2.6b-ft-mlx" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use nicolasramos/odooclaw-medium-2.6b-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-medium-2.6b-ft-mlx"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "nicolasramos/odooclaw-medium-2.6b-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-medium-2.6b-ft-mlx", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use nicolasramos/odooclaw-medium-2.6b-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-medium-2.6b-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-medium-2.6b-ft-mlx
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use nicolasramos/odooclaw-medium-2.6b-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-medium-2.6b-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-medium-2.6b-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"
OdooClaw Medium 2.6B FT — MLX
The on-device agentic model for Odoo — the best quality-to-speed tradeoff in the OdooClaw family.
MLX 4-bit version (Apple Silicon) of the OdooClaw Medium 2.6B FT model (v18, canonical). Fine-tuned LFM2.5-2.6B for tool calling inside Odoo (ERP) via MCP. Ask in natural language in the Odoo chat and the model picks the right Odoo tool.
Part of the OdooClaw collection. The GGUF release (Linux/Windows/CPU) is odooclaw-medium-2.6b-ft.
Why this model
The Medium is the agentic sweet spot of the OdooClaw family:
- LFM2.5-2.6B (this model, fine-tuned): the best balance of tool-calling accuracy and speed — the "on-device agentic" model of the LFM2.5 family
- Light 1.2B (odooclaw-light-1.2b-ft-mlx): faster and lighter, but lower accuracy on business/finance tasks
- Medium 2.6B (this model): 94.2% conversation, 99.5% creation on 1000-case batteries — the most balanced model of the series
We deliberately chose the 2.6B for agentic workloads where the model reasons before every tool call — the extra accuracy is worth the small latency cost.
Evaluation (v18, 1000-case batteries)
| Battery (1000) | v18 |
|---|---|
| Conversation (990) | 94.2% |
| Creation (1000) | 99.5% |
| Business (1000) | 74.0% |
| Invoices (1000) | 71.6% |
The v18 is the most balanced model of the series: top-2 in all 4 categories at once, no tradeoffs. Trained with balanced distribution (matches evaluation) and natural variety.
Performance (MLX, Apple Silicon)
Machine: Mac Mini M4 (this measurement) — the reference Apple Silicon for on-device agentic:
| Metric | Value |
|---|---|
| Model load | 0.8s |
| Tool call ("Busca el cliente Acme") | 0.98s → find_partner ✅ |
| Generation speed | 61.7 tok/s |
| Reference machine | tok/s |
|---|---|
| Mac Mini M4 | 61.7 |
| Mac Studio M1 Ultra (64GB) | (see GGUF card) |
Bottom line: a full Odoo AI agent with near-100% creation accuracy runs on a single Apple Silicon Mac, with sub-second tool calls.
What makes it work
- Retrieval top-5: the gateway only injects the 5 most relevant tools per query (of 134 Odoo MCP tools) — keeps the context small and the model focused
- 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 49.301 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
Files
model.safetensors(1.5GB, 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-medium-2.6b-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(model='res.partner', domain=[["name",...])]<|tool_call_end|>
License
Apache 2.0 — free for everyone, that's the whole point.
- Downloads last month
- 203
4-bit