在 Mac、Windows、Linux 上免费本地部署 DeepSeek-R1

在 Mac/Windows/Linux 上免费本地部署 DeepSeek-R1

您是否正在寻找一种简单的方法来 离线安装 DeepSeek 或寻找 免费的 DeepSeek-R1 离线安装在本地运行DeepSeek-R1 这样的强大模型已经成为开发人员、研究人员和 AI 爱好者的一大变革。大多数高级用户在本地运行 LLM 设置以完全控制数据和安全性,因此它也有助于 LLM 充分发挥其潜力。本指南介绍了 在 Mac、Windows 或 Linux 上本地安装 DeepSeek-R1 的 四种行之有效的方法 - 使用 Ollama 的简单性、Python 的灵活性、Docker 的可靠性或 llama.cpp 的优化。选择适合您的工作流程和硬件的方法。

[TOC]

本地运行 DeepSeek 的优势

在本地运行DeepSeek具有多种优势,尤其是对于关注性能、隐私和控制的用户而言。以下是主要优势的细分:

优势 描述
数据隐私与安全 完全控制您的数据,确保敏感信息保留在您的机器上,而无需第三方访问。
离线功能 无需互联网连接即可运行,减少对云服务的依赖并确保偏远地区的可用性。
定制与灵活性 能够微调模型、自定义设置并与本地应用程序或工作流程集成。
性能和速度 由于延迟减少以及充分利用本地 CPU/GPU 资源,响应时间更快。
成本效益 避免云订阅费和 API 使用成本;扩展工作负载而无需额外费用。
实验与开发 自由地进行实验、快速迭代并维护版本控制,不受外部限制。
增强敏感应用程序的安全性 通过在安全、受控的环境中运行,非常适合具有严格监管要求的行业(例如医疗保健、金融)。

先决条件

  1. 所需操作系统

    • macOS(Intel 或 Apple Silicon)
    • Linux(x86_64 或 ARM64)| Ubuntu 24.04
    • Windows(通过 Windows Subsystem for Linux [WSL 2])
  2. 所需硬件

    • 最低 8GB 但 16GB+ RAM(建议用于最佳性能)。
    • 10GB+免费存储空间。
    • 兼容的 GPU(可选,但建议使用以便更快地进行推理)。
  3. 所需软件

    • 终端访问( WSL 中的 Windows cmd/PowerShell)。
    • 基本工具:Python 3.10+、 pipgit

DeepSeek 安装类型 - 比较以及哪一种最简单?

用户可以使用四种方法免费在本地安装 DeepSeek-R1。对于大多数用户来说,Ollama 是最简单的方法,而 Python/Hugging Face 则提供了最大的灵活性。以下是所有四种安装方法的详细比较:

安装方法 易于安装 硬件 定制性
Ollama ⭐⭐⭐⭐⭐ 图形处理器/中央处理器
Python ⭐⭐⭐⭐ 图形处理器/中央处理器
Docker ⭐⭐⭐ 图形处理器/中央处理器 中等
llama.cpp ⭐⭐ CPU/GPU(慢) 中等

如何使用 Ollama 在本地安装 DeepSeek-R1

步骤1:安装Ollama

Ollama 简化了本地运行 LLM 的过程。请按照以下步骤进行安装:

对于 macOS

  1. 访问 Ollama.ai 并下载 macOS 应用程序。
  2. 将 Ollama 图标拖到您的 应用程序 文件夹中。
  3. 打开应用程序,启动Ollama后台服务。
对于 Linux/ Ubuntu 24.04 /WSL(Windows)

在终端中运行以下安装脚本:

1
curl -fsSL https://ollama.ai/install.sh | sh

然后,启动 Ollama 服务

1
ollama serve
验证 Ollama 安装

检查 Ollama 是否已安装:

1
ollama --version

如果成功,您将看到版本号(例如 ollama version 0.1.25)。

第 2 步:下载并安装 DeepSeek-R1

DeepSeek-R1 可能无法直接在 Ollama 的默认库中使用。请使用以下方法之一:

方法 1:从 Ollama 提取(如果可用)

首先,检查模型是否存在:

1
ollama list

如果结果中列出了 deepseek

1
ollama pull deepseek-r1

在此过程中请耐心等待: 下载大型语言模型(可能为几 GB)需要稳定的互联网连接。下载时间将取决于您的互联网速度,连接越快,下载速度越快,而连接速度越慢,则可能需要几分钟或更长时间。

如果 deepseek-r1 没有列出,请使用 方法 2

方法 2:手动设置模型文件

1.下载模型

  • Hugging Face 或官方 DeepSeek 存储库等来源获取GGUF格式的 DeepSeek-R1 模型文件 (例如deepseek-r1.Q4_K_M.gguf
  • 将其保存到专用文件夹(例如 ~/models)。

2. 创建模型文件

在同一文件夹中,创建一个名为Modelfile的文件:

1
FROM ./deepseek-r1.Q4_K_M.gguf

将文件名替换为您的实际的 GGUF 文件。

3. 建立模型

1
ollama create deepseek-r1 -f Modelfile

步骤3:运行DeepSeek-R1

开始与模型聊天

1
ollama run deepseek-r1

示例提示:

1
>>> 编写一个 Python 函数来计算斐波那契数。

步骤 4:验证安装(可选)

确认模型处于活动状态:

1
ollama list

现在您将看到 deepseek-r1 列表。使用示例提示测试推理速度和响应质量。

步骤 5:在 Web UI 中运行 DeepSeek

虽然 Ollama 提供与 DeepSeek 等模型的命令行交互,但基于 Web 的界面可以提供更简单、更用户友好的体验,就像您在 Web 浏览器上启动 DeepSeek 一样。Ollama Web UI 提供了这样的界面,简化了与 Ollama 模型交互和管理的过程。

注意: 对于不太熟悉命令行工具的用户,或者对于需要进行UI交互的任务,此图形界面尤其有用。

1.创建虚拟环境

首先,创建一个虚拟环境,将您的 Python 依赖项与系统范围的 Python 安装隔离开来。

1
2
3
sudo apt install python3-venv
python3 -m venv ~/open-webui-venv
source ~/open-webui-venv/bin/activate

2. 安装 Open WebUI

现在使用 pip 安装Open WebUI

1
pip install open-webui

3.启动服务器

安装 Open WebUI 后,使用以下命令启动服务器

1
open-webui serve

打开您的网络浏览器并导航到 http://localhost:8080 - 您应该看到 Ollama Web UI 界面。

DeepSeek Ollama 故障排除提示

1. 未找到Model

  • 确保模型名称正确或使用手动 GGUF 设置。
  • 检查 Ollama 的模型库 以查找替代的 DeepSeek 模型(例如 deepseek-coder)。

2.性能问题

  • 分配更多 RAM/VRAM。
  • 简化提示以便更快地做出响应。

3. WSL 错误

  • 更新 WSL wsl --update:。
  • 重新启动 Ollama 服务。

有关最新更新,请参阅:

通过 Python 和 Hugging Face 安装并运行 DeepSeek

通过 Python 和 Hugging Face Transformers 库与 DeepSeek 交互提供了一种强大而灵活的方法:

步骤 1:安装依赖项

首先,确保已安装 Python。然后,使用 pip 安装所需的库:

1
pip install torch transformers accelerate
  • transformers提供对预先训练的模型以及使用它们的工具的访问。
  • accelerate有助于优化模型执行,特别是对于更大的模型和 GPU。

第 2 步:下载模型

1
git clone https://huggingface.co/deepseek-ai/deepseek-r1

步骤 3:运行推理

创建 Python 脚本 inference.py

1
2
3
4
5
6
7
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-r1")
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-r1")
prompt = "Explain quantum computing in simple terms."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=200)
print(tokenizer.decode(outputs[0]))

步骤 4:执行

1
python inference.py

通过 Python 和 Hugging Face 进行 DeepSeek 故障排除技巧

  • 内存不足错误:添加 device_map="auto"from_pretrained()
  • 性能缓慢:使用 quantization (例如 load_in_4bit=True)。

通过 Docker 在本地安装 DeepSeek

使用 Docker 在本地运行 DeepSeek 提供了一个简单可靠的环境,消除了许多手动安装的复杂性:

步骤 1:安装 Docker

确保你的系统上安装了 Docker 和 Docker Compose。你可以从 Docker 官方网站 ( https://www.docker.com/ ) 下载并安装它们。

  • Windows/macOS:从 docker.com 下载 Docker Desktop
  • Linux( Ubuntu / Debian :使用您的包管理器:
1
sudo apt-get update && sudo apt-get install docker.io

第 2 步:拉取 DeepSeek Docker 镜像

从注册表中提取官方图像( deepseek-image:tag 用 DeepSeek 文档中的实际图像名称替换):

1
docker pull deepseek/deepseek-llm:latest # 示例镜像名称

步骤 3:运行 DeepSeek 容器

使用适当的资源启动容器:

1
docker run -d --name deepseek-container -p 8080:8080 deepseek/deepseek:latest

此命令以分离模式启动容器(-d),命名为deepseek-container,并将容器的端口 8080 映射到本地机器的端口 8080。

步骤 4:验证安装

检查容器是否正在运行:

1
docker ps -a | grep deepseek-container

步骤 5:与模型交互

通过API发送测试请求:

1
2
3
curl -X POST http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"prompt": "Hello, DeepSeek!", "max_tokens": 50}'

重要提示:

  1. GPU 支持 :需要 NVIDIA 驱动程序和 NVIDIA Container Toolkit

  2. 模型权重 :某些模型需要单独下载权重。查看 DeepSeek 的文档。

  3. 配置 :您可能需要为以下内容设置其他环境变量:

    • 模型参数
    • API 安全
    • 资源分配

使用 llama.cpp 手动设置 DeepSeek

仅适用于 CPU 或轻量级 GPU 使用。

先决条件

  • 硬件 :

    • CPU:现代 x86-64 或 ARM(Apple Silicon)。
    • GPU(可选):NVIDIA(CUDA)、AMD(ROCm)或 Apple Metal。
  • C++ 编译器:确保您已经安装了兼容的 C++ 编译器(例如g++)。

  • CMake:构建所需llama.cpp

  • Git:克隆存储库。

  • Python(可选):如果需要,可以使用 Python 绑定。

步骤 1:安装或克隆 llama.cpp 存储库

1
2
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make

步骤 2:构建 llama.cpp

对于 Windows (使用 CMake)

1
2
3
4
mkdir build
cd build
cmake ..
cmake --build . --config Release

这将在目录中创建一个可执行文件build/bin

对于 Linux/macOS

1
2
3
make clean && make LLAMA_METAL=1  # Enable Metal for Apple GPUs
# 或为 CUDA(NVIDIA GPU):
make clean && make LLAMA_CUBLAS=1

步骤 3:下载 DeepSeek GGUF 模型

选项 1:从 Hugging Face 下载预先转换的 GGUF 模型:

  • 例如,在Hugging Face Hubdeepseek-gguf 上 搜索 (根据您的模型版本进行调整):

选项 2:自行将原始模型转换为 GGUF(高级):

1
2
3
4
# 将 PyTorch/Safetensors 转换为 GGUF
python3 convert.py --ctx-size 4096 --outtype f16 /path/to/deepseek-model-dir
# 量化模型(例如,4 位的 Q4_K_M):
./quantize /path/to/deepseek-model.gguf /path/to/deepseek-model-Q4_K_M.gguf Q4_K_M

步骤 4:运行模型

使用 main 可执行文件与模型交互:

1
2
3
4
# 对于 CPU
./main -m /path/to/deepseek-r1.Q4_K_M.gguf -p "Hello, DeepSeek!" -n 512
# 对于 GPU 加速(例如 NVIDIA CUDA)
./main -m /path/to/deepseek-r1.Q4_K_M.gguf -p "Hello, DeepSeek!" -n 512 --ngl 50

步骤 5:使用 API 服务器(可选)

将模型作为与 OpenAI 兼容的 API 服务器运行:

1
./server -m /path/to/deepseek-r1.Q4_K_M.gguf --port 8000 --host 0.0.0.0 --ctx-size 4096

通过发送请求 curl

1
2
3
4
curl http://localhost:8000/v1/completions -H "Content-Type: application/json" -d '{
"prompt": "Explain AI alignment",
"max_tokens": 200
}'

使用 llama.cpp 进行 DeepSeek 设置故障排除技巧

  • 模型兼容性:确保 DeepSeek 模型与 兼容llama.cpp。如果模型格式不同,则可能需要使用适当的工具转换模型。
  • 内存问题:如果遇到内存错误,请尝试使用模型的量化版本(.ggml.q4_0.gguf.q5_1等)以减少资源使用。
  • 性能:为了获得更好的性能,请使用 GPU 加速(如果您的系统支持)。

在 Mac、Windows、Linux 上免费本地部署 DeepSeek-R1
https://dnacore.github.io/post/c8b6e8bc-ffb1-400f-ab85-5b28ae43e478.html
作者
DNACore
发布于
2025年2月7日
更新于
2025年2月8日
许可协议