Native backend — Ollama
Ollama is the default native runtime. It wraps llama.cpp with automatic Metal (Apple Silicon) and CUDA (NVIDIA) acceleration. Our installer pulls Ollama and starts its daemon for you.
- Model format: GGUF, 4-bit quantised by default
- API: Ollama's local
/api/chatwith stream support - Acceleration: Metal on Mac, CUDA on Linux NVIDIA, CPU fallback elsewhere
- Catalogue: llama3.2:1b/3b, gemma2:2b, qwen2.5:1.5b/3b, phi3.5:3.8b, mistral:7b
Inspect what your node has cached
bash
curl http://localhost:11434/api/tags
The provider script reports this list to the orchestrator at registration, so /v1/models can show accurate nodes_available counts per model.
Browser backend — WebLLM
Browser nodes use @mlc-ai/web-llm to run quantised models directly in the tab via WebGPU. Models are downloaded once and cached in IndexedDB; subsequent sessions take seconds.
- Runtime: WebGPU through MLC's WASM compute kernels
- Engine lives in a Web Worker to survive background-tab throttling
- A silent AudioContext keeps Chrome from idling the tab
- Six model sizes available — see Browser Nodes
Backend choice is automatic
The orchestrator picks a provider that already has the requested model cached. If you call
model: "mistral-7b" and no provider has it, the request auto-routes to the closest model in the same tier/family. The response includes a routed_from field so the caller knows.What we do NOT support yet
- oMLX (Apple MLX): on roadmap. Native MLX is faster than llama.cpp on M-series for some models, especially Qwen-class reasoning.
- Split-model inference: on roadmap. Two providers cooperate to serve one model larger than either can hold alone.
- ONNX Runtime Web: not planned. WebLLM covers our browser cases.