Navin

How to Configure Ollama Local Models in navin

Use Ollama when you want models to run on this machine with no cloud API key. navin talks to Ollama through the OpenAI-compatible endpoint at http://localhost:11434/v1.

What you will build

  • Ollama installed and running on port 11434
  • at least one pulled model (for example llama3.2)
  • providers.ollama.apiBase written in config
  • a model preset pinned to provider: "ollama"

Recommended path: Settings → Providers

Open Settings → Providers → Ollama. The Local Ollama setup panel runs this flow:

  1. Detect - checks whether the ollama binary exists, whether the daemon answers on port 11434, which models are already pulled, and whether Navin already has apiBase configured.
  2. Install - when the binary is missing, offers a platform installer (brew, winget, or the official Linux install script) or a link to ollama.com/download.
  3. Start - starts the local server if it is installed but not answering.
  4. Pull - downloads a recommended model (llama3.2, qwen2.5-coder:7b, mistral, gemma3:4b, nomic-embed-text) or any model id you type.
  5. Configure / Use - writes providers.ollama.apiBase when missing (http://localhost:11434/v1), creates a model preset for the chosen model, and can make that preset active. A custom apiBase you already set (LAN host, non-default port) is preserved.

After Use, open Settings → Models if you want to review the active preset, then send a chat message.

Manual CLI path

If you prefer the terminal:

# Install (Linux example - see ollama.com for macOS/Windows)
curl -fsSL https://ollama.com/install.sh | sh

ollama serve
ollama pull llama3.2
curl -sS http://localhost:11434/v1/models

Merge this into ~/.navin/config.json:

{
  "providers": {
    "ollama": {
      "apiBase": "http://localhost:11434/v1"
    }
  },
  "modelPresets": {
    "local": {
      "label": "Local",
      "provider": "ollama",
      "model": "llama3.2",
      "maxTokens": 4096,
      "contextWindowTokens": 32768,
      "temperature": 0.2
    }
  },
  "agents": {
    "defaults": {
      "modelPreset": "local"
    }
  }
}

Then:

navin agent -m "Hello!"

Most Ollama setups do not need an API key. OLLAMA_API_KEY is optional.

Recommended models

Model idRoleApprox. size
llama3.2General chat and light coding~2 GB
qwen2.5-coder:7bLocal coding~4.7 GB
mistralFast general-purpose~4.1 GB
gemma3:4bSmall everyday tasks~3.3 GB
nomic-embed-textFree local embeddings / semantic search~274 MB

Pull only what your GPU or RAM can hold. Start with llama3.2 if unsure.

Provider resolution notes

  • Pin provider: "ollama" in the preset. Generic names such as llama3.2 do not always auto-route without a configured local apiBase.
  • An empty providers.ollama block is not treated as configured. Set apiBase (the WebUI panel does this) or use an explicit ollama/<model> model id.
  • NVIDIA cloud nemotron models route to NVIDIA NIM when that key is present. Local Nemotron weights on Ollama use provider: "ollama" or ollama/<model>.

Embeddings / semantic search

Point semantic search at Ollama for a free local index:

{
  "tools": {
    "semanticSearch": {
      "provider": "ollama",
      "model": "nomic-embed-text"
    }
  }
}

Pull nomic-embed-text first (ollama pull nomic-embed-text).

Image generation

Ollama image models use the native /api surface. Chat still uses /v1. When providers.ollama.apiBase ends with /v1, the image client rewrites it to /api automatically. See Image generation.

Troubleshooting

SymptomLikely cause
connection refusedDaemon not running, or wrong host/port in apiBase
Model not foundModel not pulled; run ollama pull <id> or use the panel Pull button
Very slow repliesModel too large for the machine; try a smaller tag
Install button unavailablePlatform needs a manual download from ollama.com
Navin still on a cloud modelActive preset is not the Ollama preset; open Settings → Models

Related docs

Source: content/docs/guides/configure-ollama-local.md