Instructions to use nicolasramos/odooclaw-medium-2.6b-ft-mlx-bf16 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-bf16 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-bf16") 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-bf16 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-bf16"
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-bf16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use nicolasramos/odooclaw-medium-2.6b-ft-mlx-bf16 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-bf16"
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-bf16" # 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-bf16", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use nicolasramos/odooclaw-medium-2.6b-ft-mlx-bf16 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-bf16"
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-bf16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use nicolasramos/odooclaw-medium-2.6b-ft-mlx-bf16 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-bf16"
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-bf16" \ --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 (BF16, unquantized)
The on-device agentic model for Odoo — the best quality-to-speed tradeoff in the OdooClaw family.
MLX BF16 (non-quantized) 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. This repo holds the full-precision BF16 weights. For the smaller, faster 4-bit MLX release (recommended for on-device use) see odooclaw-medium-2.6b-ft-mlx. 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.
Why BF16
This is the unquantized reference of the model. Use it when you want the exact training weights:
- No quantization loss — bit-exact reproduction of the fine-tuned checkpoint
- Ideal for further fine-tuning, conversion, or evaluation as the ground truth
- Requires ~5.4GB on disk / in memory (vs 1.5GB in 4-bit)
For day-to-day on-device inference, prefer the 4-bit MLX version — in our benchmarks it shows negligible quality loss at a fraction of the memory.
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.
Files
model-00001-of-00002.safetensors+model-00002-of-00002.safetensors(5.4GB total, BF16 / unquantized)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-bf16')
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
- 481
Quantized