Instructions to use nicolasramos/odooclaw-vision-450m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use nicolasramos/odooclaw-vision-450m with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf nicolasramos/odooclaw-vision-450m:F16 # Run inference directly in the terminal: llama cli -hf nicolasramos/odooclaw-vision-450m:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf nicolasramos/odooclaw-vision-450m:F16 # Run inference directly in the terminal: llama cli -hf nicolasramos/odooclaw-vision-450m:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf nicolasramos/odooclaw-vision-450m:F16 # Run inference directly in the terminal: ./llama-cli -hf nicolasramos/odooclaw-vision-450m:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf nicolasramos/odooclaw-vision-450m:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf nicolasramos/odooclaw-vision-450m:F16
Use Docker
docker model run hf.co/nicolasramos/odooclaw-vision-450m:F16
- LM Studio
- Jan
- vLLM
How to use nicolasramos/odooclaw-vision-450m with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "nicolasramos/odooclaw-vision-450m" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nicolasramos/odooclaw-vision-450m", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/nicolasramos/odooclaw-vision-450m:F16
- Ollama
How to use nicolasramos/odooclaw-vision-450m with Ollama:
ollama run hf.co/nicolasramos/odooclaw-vision-450m:F16
- Unsloth Studio
How to use nicolasramos/odooclaw-vision-450m with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for nicolasramos/odooclaw-vision-450m to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for nicolasramos/odooclaw-vision-450m to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for nicolasramos/odooclaw-vision-450m to start chatting
- Pi
How to use nicolasramos/odooclaw-vision-450m with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf nicolasramos/odooclaw-vision-450m:F16
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "nicolasramos/odooclaw-vision-450m:F16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use nicolasramos/odooclaw-vision-450m with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf nicolasramos/odooclaw-vision-450m:F16
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-vision-450m:F16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use nicolasramos/odooclaw-vision-450m with Docker Model Runner:
docker model run hf.co/nicolasramos/odooclaw-vision-450m:F16
- Lemonade
How to use nicolasramos/odooclaw-vision-450m with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull nicolasramos/odooclaw-vision-450m:F16
Run and chat with the model
lemonade run user.odooclaw-vision-450m-F16
List all available models
lemonade list
- Hermes Agent
How to use nicolasramos/odooclaw-vision-450m with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf nicolasramos/odooclaw-vision-450m:F16
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-vision-450m:F16
Run Hermes
hermes
- Atomic Chat
OdooClaw Vision 450M
Local invoice extraction for Odoo — read PDFs, create vendor bills, zero cloud.
Fine-tuned LFM2.5-VL-450M-Extract (Liquid AI) for document extraction inside Odoo. This is the vision companion to OdooClaw Light 1.2B FT: the chat model handles the conversation, this model reads the invoices.
What it does
- Extracts structured data from invoice images: vendor, VAT, invoice number, date, client, subtotal, tax, total
- Feeds the OdooClaw
ocr-invoiceMCP: PDF → image → this model → vendor bill created in Odoo - 100% local — the default in production (replaces gpt-4o-mini cloud)
- Verified end-to-end: PDF attachment → vendor bill created in Odoo (account.move), partner auto-matched, attachment linked
Why this model
- 450M params — the smallest model of its class, runs anywhere (even the Mac Mini M1)
- Specialized in document extraction (Liquid's 2,000-invoice benchmark):
- JSON Validity: 98.9% | F1: 98.8% | VLM Judge: 84.5
- Beats models 4x its size (InternVL3.5-2B: 99.6/99.2/87.7)
- OCRBench: 684
- 128K context
Files — WHICH QUANTIZATION TO USE
| File | Size | Verdict |
|---|---|---|
odooclaw-vision-q6km.gguf |
280MB | ✅ RECOMMENDED — verified 8/8 (100%) extraction success on CPU |
odooclaw-vision-q4km.gguf |
219MB | ⚠️ Q4_K_M causes repetition loops on CPU — JSON never closes (0/8) |
mmproj-odooclaw-vision-f16.gguf |
189MB | Required (vision tower) — use with either |
Important empirical finding: at 450M scale, Q4_K_M quantization is too aggressive for stable CPU extraction — the model enters repetition loops ("imquestos imquestos ...") and never emits valid JSON. Q6_K is the sweet spot: 100% success in 8/8 trials, only 61MB larger. Use Q6_K.
Verified extraction (real tests, 2026-08-07, N100 CPU, llama.cpp build 525)
Test 1 — generated ES invoice (DejaVu font, pdftoppm 170 DPI):
{"vendor_name": "Suministros Industriales García S.L.", "invoice_number": "b76543210",
"date": "05/07/2026", "total": "2541.00 euro", "tax": "441.00 euro"}
Test 2 — Odoo demo vendor bill → CREATED IN ODOO:
{
"success": true, "move_id": 26, "partner_id": 45, "attachment_linked": true,
"invoice_data": {
"partner_name": "Azure Interior Solutions Private Limited",
"invoice_date": "2018-09-30", "ref": "692130859",
"amount_tax": 541.1, "amount_total": 541.1
}
}
Key fields (vendor, date, ref, totals) extracted and a real vendor bill was created in Odoo with the PDF attached — fully local.
Usage (llama.cpp)
# IMPORTANT: llama.cpp build 525+ required (LFM2-VL support)
llama-server -m odooclaw-vision-q6km.gguf \
--mmproj mmproj-odooclaw-vision-f16.gguf \
--port 8093 -c 8192 -t 3 \
--temp 0.0 --top-k 50 --repeat-penalty 1.05 --jinja
Send the invoice image as a data URL (data:image/png;base64,...) with the image BEFORE the text prompt — verified critical for the 450M (text-first → garbage output).
Prompt notes (from testing)
- Keep the prompt short: "Extract invoice data as JSON only. Return JSON with vendor_name, invoice_number, date, total, tax."
- No inline JSON schema: showing the schema makes the 450M echo it back empty
- max_tokens ~150: enough for the JSON, prevents repetition loops
- Image first, text last in the content array
Conversion notes
Built from the official Extract PyTorch weights: language model exported separately (709MB f16 → quantize to Q6_K) + vision tower as mmproj (189MB). MLX conversion not yet available (mlx_lm 0.29 drops the vision tower).
License
Apache 2.0 — free for everyone, that's the whole point.
- Downloads last month
- 89
We're not able to determine the quantization variants.
Model tree for nicolasramos/odooclaw-vision-450m
Base model
LiquidAI/LFM2.5-350M-Base