Skip to content

Your first local model on Windows

Go from a fresh Ollama installation to a working answer, using Windows PowerShell. No Docker or graphics card is needed for this first run.

Before you start

Use Windows 10 22H2 or newer (including Windows 11). Have internet access for installation and the model download, several gigabytes of free disk space beyond the installer, and available RAM. Start with the small llama3.2:1b model; it is a learning example, not a promise of accuracy. Close memory-heavy apps if your computer is short on RAM.

1. Install Ollama

Download the Windows installer from ollama.com/download/windows and run it. Launch Ollama from the Start menu if it isn't already running.

Open a new PowerShell window after installation. Paste:

ollama --version

Check: you should see a version number. Record it if you need help. If Windows says the command isn't recognized, close PowerShell, open it again, and retry. If that fails, check that installation completed.

2. Download a small model

ollama pull llama3.2:1b
ollama list

The first command downloads the model; wait for it to finish. Check: the list should contain llama3.2:1b. A download error usually means you should check your connection, available disk space, and the exact model name before retrying.

3. Get your first answer

ollama run llama3.2:1b

At the chat prompt, type:

Explain what a language model is in two short sentences.

Check: readable text should appear. The wording varies; there isn't one exact correct output. The first reply can take longer while the model loads. Ask a follow-up, then type /bye to return to PowerShell.

4. Check the local API

This confirms that other programs can use the same local model. Paste this whole block into PowerShell:

$firstChatBody = @{
  model = 'llama3.2:1b'
  messages = @(@{ role = 'user'; content = 'Reply with a short greeting.' })
  stream = $false
  options = @{ num_predict = 64 }
} | ConvertTo-Json -Depth 5
$firstChatReply = Invoke-RestMethod -Uri 'http://localhost:11434/api/chat' -Method Post -ContentType 'application/json' -Body $firstChatBody
$firstChatReply.message.content
$firstChatReply.done

Check: a greeting and True should print. This uses PowerShell's HTTP command, avoiding the curl alias and shell quoting differences.

If the connection is refused, open Ollama from the Start menu and retry. If it says the model wasn't found, repeat step 2. If you see an out-of-memory error, close other apps and retry; fitting a model on disk doesn't guarantee it fits in available memory.

5. See what is loaded, then free the memory

ollama ps
ollama stop llama3.2:1b
ollama ps

Check: immediately after a reply, the first list normally shows the loaded model. After stop, it should disappear; unloading can take a moment, so run ollama ps again after a few seconds if needed. If enough time has passed, Ollama may already have unloaded it automatically. The download stays on disk, ready for your next ollama run.

If the PROCESSOR column shows 100% CPU when you expect your graphics card to be used, check that no other program is holding Ollama's port (11434) — a stray server there blocks GPU detection.

What to try next

For this walkthrough, inference uses a downloaded local model through localhost. Downloads require internet access. Cloud models, web search, and external services have different data flows; review those separately before sending private documents.

Verification status and sources

Reviewed against official documentation and CLI source on October 10, 2026. A partial Windows validation executed CLI chat, API chat, model listing, context settings, and unloading with Ollama 0.40.2 and Windows PowerShell 5.1, using an already installed gemma3:1b. The llama3.2:1b download stalled, so this walkthrough's exact model and fresh installation remain unverified. See the report for measurements, reproduction commands, and remaining checks.