Portrait of Michael Limberger

Michael Limberger

Need me? Email mike@limberger.ca

AI

Choosing And Pulling A Model

Choosing and pulling a model

Not every 14B model is equal for OpenClaw. The agent depends on tool calling (function calling): shell commands, file reads, API calls, and multi-step actions. A model that writes pretty prose but cannot emit reliable tool calls will stall the workflow.

The 14B tier, ranked

Here is how common options behave with OpenClaw-style agent work:

qwen2.5-coder:14b
        
          Top recommendation. About 9.0GB download. 32K context window.
          Apache 2.0. Best tool-calling support at this size for OpenClaw
          local setups. Built for code, so structured output and function
          signatures come naturally.
        
        qwen3:14b
        
          Newer Qwen generation. Thinking mode. Large native context.
          Strong general model. Good tools, but the coder variant is still
          better for OpenClaw's structured agent workflows.
        
        qwen2.5:14b
        
          Strong general model, 32K context. Slightly weaker tool calling
          than the coder build, but usable if you want a more conversational
          assistant that can still use tools.
        
        phi4:14b
        
          Microsoft model. Good prose, less battle-tested with OpenClaw's
          tool-call format. Fine to experiment with; less reliable for demos.
        
        deepseek-r1:14b
        
          The trap. Excellent reasoning benchmarks, but no tool calling.
          OpenClaw needs structured function calls. Without them the agent
          describes actions instead of executing them.
        
          Do not use DeepSeek-R1 for OpenClaw.
+----------------------------------------------------------+
|  DeepSeek-R1 14B is a trap.                              |
|  Benchmarks great. No tool calling. Useless for agents.  |
|  Use qwen2.5-coder:14b instead.                          |
+----------------------------------------------------------+

Pull the model

This tutorial uses qwen2.5-coder:14b.

Show me

ollama pull qwen2.5-coder:14b

About 9GB. Rough download times:

100 Mbps connection:  roughly 12-15 minutes
        250 Mbps connection:  roughly 5-6 minutes
        500 Mbps connection:  roughly 2-3 minutes

For a group session, pull at home the night before. Do not start a 9GB download on conference Wi-Fi with thirty people. If the venue allows it, bring pre-loaded USB drives.

Talk to it once

After the pull, smoke-test:

Show me

ollama run qwen2.5-coder:14b --verbose "Write a Python function to reverse a string"

You should get a reply. --verbose prints tokens per second afterward. Rough generation speeds by chip:

M1 base:           8-12 tokens per second
        M2/M3 Pro:         15-22 tokens per second
        M3/M4 Max:         25-40 tokens per second

The first reply is slower while the model loads into memory. Later turns are faster.

Is the GPU doing the work

While the model is loaded:

Show me

ollama ps

Check the Processor column. You want roughly 100% GPU. 100% CPU, or a heavy CPU split, usually means the model does not fit and is offloading. On 16GB, close browsers and other apps, then try again.

The HTTP door

OpenClaw talks to Ollama over HTTP, not the chat TUI. Verify the API:

Show me

curl http://localhost:11434/v1/models

You should see JSON that includes your model. Then test a chat completion:

Show me

curl http://localhost:11434/v1/chat/completions \
          -H "Content-Type: application/json" \
          -d '{"model":"qwen2.5-coder:14b","messages":[{"role":"user","content":"Hello!"}]}'

A JSON reply means the API is up. If either call fails, start Ollama with the app or ollama serve.

What quantization means

Q4_K_M is a quantization tag: fewer bits per weight so the model fits in memory. Full 16-bit weights for a 14B model would need about 28GB just for parameters. Q4_K_M lands around 4.5 bits per parameter with surprisingly little quality loss for most agent tasks.

Higher quants (Q5_K_M, Q6_K, Q8_0) keep more quality and use more RAM. Lower quants (Q3_K_M, Q2_K) save memory and start to degrade more noticeably. If you have 32GB or more and want a quality bump, try a higher quant of the same model family. For this tutorial, stick with the default Q4_K_M pull above.

Next: install OpenClaw itself.