DeepSeek R-1 Local Install: 5 Easy Steps, Avoid Mistakes

To install and use DeepSeek R-1 on your own computer, the practical route is Ollama and one of the distilled models, not a Python repository. The old version of this post told you to clone a GitHub project and run python deepseek.py. I checked: that repository does not exist, and those steps do not come from DeepSeek. This rewrite was tested with Ollama 0.40.13 in a container on a 20-thread CPU with no GPU, using the 1.5B distilled model, and adds facts from the official DeepSeek-R1 README (read on 2 November 2026). The name on GitHub and in Ollama is DeepSeek-R1; this post keeps "DeepSeek R-1" because that is what the old URL and many searches use.

Why the old DeepSeek R-1 steps fail

The old guide cloned DeepSeekAI/DeepSeek-R-1, installed a requirements.txt, and called DeepSeek.load_model("deepseek-r1"). Here is what happens at the first step:

$ curl -s -o /dev/null -w "HTTP %{http_code}\n" https://api.github.com/repos/DeepSeekAI/DeepSeek-R-1
HTTP 404
$ GIT_TERMINAL_PROMPT=0 git clone https://github.com/DeepSeekAI/DeepSeek-R-1.git
fatal: could not read Username for 'https://github.com': terminal prompts disabled

GitHub answers 404 and git then asks for a login, because it cannot tell a missing repository from a private one. The real project is deepseek-ai/DeepSeek-R1. Its README contains no deepseek.py, load_model, requirements.txt or fine_tune (I searched the text for all four). For the full model it points to the DeepSeek-V3 repository, and it adds that Hugging Face Transformers did not directly support it yet. For the distilled models it says they "can be utilized in the same manner as Qwen or Llama models" and shows vLLM and SGLang commands. So the Python calls in the old post were invented.

What DeepSeek R-1 is, according to its README

The README says DeepSeek open-sourced DeepSeek-R1-Zero, DeepSeek-R1 and six dense models distilled from DeepSeek-R1 on Llama and Qwen, under the MIT license. The six distilled models are the ones a normal PC can run:

Install and use DeepSeek R-1: the old GitHub repository returns 404, then ollama runs the 1.5B distilled model on CPU
The old repository does not exist; the Ollama route works on a CPU.
  • deepseek-r1:1.5b, 1.1 GB download
  • deepseek-r1:7b, 4.7 GB
  • deepseek-r1:8b, 5.2 GB
  • deepseek-r1:14b, 9.0 GB
  • deepseek-r1:32b, 20 GB
  • deepseek-r1:70b, 43 GB

The sizes come from the Ollama library page for deepseek-r1. The same page lists 671b at 404 GB, the full model, which is not for a home PC. The old post's hardware list (Core i5, 16 GB RAM, 50 GB disk) did not say which model it meant, so it was no guide. Choose the model first: the 1.5B file was 1.1 GB on disk in my test, and the running model used 1.3 GB of memory.

Step 1: install Ollama

Ollama runs DeepSeek R-1 and gives you a command line and an API. The install script, the service and the first model are covered with real output in the Ollama on Linux post. On Windows or macOS, use the installer from the Ollama site; I did not test those. Check the version afterwards:

$ ollama --version
ollama version is 0.40.13

Step 2: pull and inspect the DeepSeek R-1 model

The command from the Ollama library page is ollama pull deepseek-r1:1.5b; my test volume already held the model. ollama show prints what you are about to run:

$ ollama show deepseek-r1:1.5b
  Model
    architecture        qwen2
    parameters          1.8B
    context length      131072
    embedding length    1536
    quantization        Q4_K_M

  Capabilities
    tools
    thinking
    completion

Note the architecture: qwen2. This is a Qwen model fine-tuned on DeepSeek-R1 outputs, not DeepSeek's own 671B architecture. The README lists DeepSeek-R1-Distill-Qwen-1.5B as based on Qwen2.5-Math-1.5B. The thinking capability matters in the next step.

Step 3: run DeepSeek R-1 and read the thinking

$ ollama run deepseek-r1:1.5b "What is 17 * 23? Answer briefly."
Thinking...
First, I will identify the two numbers to be multiplied: 17 and 23.
...
Finally, I will add the results of the two multiplications together: 340 plus 51 equals 391.
Therefore, 17 multiplied by 23 equals 391.
...done thinking.

To calculate \(17 \times 23\), we can use the distributive property to simplify the multiplication.
**Answer:** \(\boxed{391}\)

The whole call took 14.2 seconds on the CPU, including loading the model. The answer 391 is correct. A reasoning model prints its working before the answer, so even a short question produces many tokens. While it was loaded, ollama ps showed where it ran:

$ ollama ps
NAME                ID              SIZE      PROCESSOR    CONTEXT    RUNNER
deepseek-r1:1.5b    e0979632db5a    1.3 GB    100% CPU     4096       llamacpp

"100% CPU" means no GPU was used. The context shown is 4096 tokens, much smaller than the 131072 the model supports, as reported by ollama ps; a larger context needs more memory.

Step 4: use the DeepSeek R-1 API and keep the thinking separate

For scripts, call the REST API on port 11434. With "think": true, the answer and the reasoning come back in separate fields:

$ curl -s http://127.0.0.1:11434/api/chat -d '{"model":"deepseek-r1:1.5b","stream":false,"think":true,
   "options":{"temperature":0,"num_predict":400},
   "messages":[{"role":"user","content":"What is 17 * 23?"}]}'
['content', 'role', 'thinking']
thinking chars: 298
eval_count 310 eval/s 26.1

I printed selected fields with Python. The speed was 26.1 tokens per second for this small model on 20 CPU threads. Larger models will be slower, and the full 404 GB model is out of reach without a server.

Step 5: follow DeepSeek's usage recommendations

The README has a short list of settings for the DeepSeek R-1 series. I quote them as given and did not test their effect:

  1. Set the temperature between 0.5 and 0.7, with 0.6 recommended, to prevent endless repetitions or incoherent output.
  2. Avoid adding a system prompt; put all instructions in the user prompt.
  3. For maths, add a directive such as "Please reason step by step, and put your final answer within \boxed{}."
  4. When evaluating performance, run several tests and average the results.

The README also notes that the models sometimes skip the thinking pattern, and recommends forcing the output to start with <think>\n. My own test used temperature 0 only to make the run repeatable, so use 0.6 for normal work.

Errors you may see with DeepSeek R-1

$ ollama run deepseek-r1:nosuchtag hi
Error: pull model manifest: file does not exist

$ ollama run deepseek-r1:1.5b --nosuchflag
Error: unknown flag: --nosuchflag

A wrong DeepSeek R-1 tag fails after Ollama tries to pull it. Check the tag list on the library page before you type it, especially for the large models, because a valid tag such as 671b would start a 404 GB download. To free memory after use, run ollama stop deepseek-r1:1.5b; the model unloads at once.

Mistakes to avoid with DeepSeek R-1

  • Following a tutorial that clones a repository. Check the URL first; the one in the old post returns 404.
  • Calling a 1.5B model "DeepSeek R-1". It is a distilled Qwen model; do not expect the quality of the full model.
  • Adding a system prompt against the README's advice.
  • Pulling a large tag by accident. Check the size on the library page.
  • Exposing the Ollama port to the network. The API has no login by default.

FAQ

Can I run DeepSeek R-1 without a GPU? Yes, the small models run on a CPU, as the test above shows: 26.1 tokens per second for the 1.5B model.

Is DeepSeek R-1 open source? The README shows the MIT license badge for the repository. Check the license of each model page before commercial use.

How do I update DeepSeek R-1? Run ollama pull deepseek-r1:1.5b again; there is no git pull step because there is no repository to clone.

Comments

Popular posts from this blog

How to Play Minecraft Bedrock Edition on Linux: A Comprehensive Guide for Tech Professionals

Linux desktop frozen? My 5 go-to tricks to try - before forcing a hard reboot

The Ultimate Guide: How to Set Up DXVK in Wine on Linux for Enhanced Gaming Performance