River AI
Local Models
River works with cloud LLMs (Anthropic, OpenAI, xAI, Gemini, Venice) and local models running on your own hardware via Ollama. The same Agents, Workflows, and SpaceChat experience — but the inference happens on your machine, not in the cloud.
This is what makes River viable for privacy-critical work, regulated industries, and anyone who'd rather not pay per-token to a third party.
When to use local models#
Use local models when:
- Privacy matters. Data never leaves your machine. No cloud provider sees your prompts.
- You own the hardware. A Mac Studio, a Blackwell pair, a homelab — turn it into AI infrastructure.
- Cost matters. Local inference is free after the hardware. No per-token bill.
- Offline matters. Local models work without an internet connection.
- Compliance matters. Healthcare, legal, government, finance — environments where the data can't leave the building.
You can also mix: route everyday tasks to a local model and reach for a cloud model only when peak capability is required.
Setting it up#
- Install Ollama on your machine (Mac, Linux, or Windows).
- Pull a tool-capable model — e.g.,
ollama pull llama3.1:70borollama pull qwen2.5:32b. - In River, open Settings → AI → Local Models and point at your Ollama instance (defaults to
http://localhost:11434). - Verify the model appears in the SpaceChat model picker.
Tool-capable models#
Not every model is good at calling tools. The Agent loop relies on the model emitting structured tool calls reliably. Models known to work well in River:
llama3.1:70b,llama3.3:70bqwen2.5:32band largermistral-largegpt-oss(OpenAI's open-weight series)
For lightweight tasks (classification, single-shot Skills), smaller models work fine. For Agent loops with many tools, prefer 30B+ parameters.
Routing#
The Intelligence Router decides where each request actually goes. You can configure routing rules:
- "All Agents in the team Dataspace use the local model."
- "SpaceChat in my personal Dataspace uses Claude."
- "Skills always use the fastest local model."
- "Anything tagged
sensitivemust run locally."
Routing is invisible at the user level. The same conversation just happens — the only thing that changes is where inference is taking place.
What still needs the cloud#
A few things in River still call cloud APIs by default:
- Image generation (Image Studio uses GPT Image, Grok, Replicate, FAL)
- Video generation (Video Studio providers)
- Some integration sync that uses provider APIs (Gmail, Stripe, etc.)
These can be configured to use local equivalents where they exist (local image models via the Image Studio's Ollama path, for example), or simply turned off.
Self-hosted River#
For full local control — including the backend, MongoDB, OpenSearch, MinIO, and the WebSocket server — see Self-Hosted River. The combination of self-hosted River + local Ollama models is a workspace where nothing leaves your infrastructure unless you say so.
Tips#
- Mac Studio M3 Ultra and NVIDIA RTX 4090+ are the sweet spot for personal use.
- For a team, one beefy GPU server can serve many users — point all River clients at the same Ollama URL.
- Keep at least one cloud model configured as a fallback for the rare task that exceeds local capability.