当前位置:首页 > 技术分析 > 正文内容

本地部署 DeepSeek 模型的详细教程

ruisui884个月前 (02-24)技术分析16

一、环境准备

硬件要求

  • 最低配置CPU:支持 AVX2 指令集(加速矩阵运算,提升推理效率)内存:16GB(确保基础模型加载)存储:30GB 可用空间(模型文件 + 依赖库)
  • 推荐配置GPU:NVIDIA RTX 3090 或更高(支持 FP16/INT8 加速,显存 ≥24GB)内存:32GB+(支持更大模型或并行任务)存储:64GB+(适配多模型或长期使用)

软件环境

  • 操作系统Windows 10/11(64 位)macOS 10.15+(需 Rosetta 2 兼容)Linux(Ubuntu 20.04+/CentOS 7+,需 glibc ≥2.17)
  • 依赖项Python 3.8+(推荐使用 Anaconda 管理环境)PyTorch 2.0+(GPU 版需 CUDA 11.8+ 和 cuDNN 8.6+)Docker(可选,用于容器化部署)

二、安装步骤

1. 安装 Ollama

  • 官网下载
  • Ollama
    访问 Ollama 官网,选择对应系统的安装包:Windows/macOS:直接下载安装程序。Linux:使用命令行安装:

curl -fsSL https://ollama.com/install.sh | sh

  • 网络问题处理
    中国大陆用户若访问 GitHub 缓慢,可通过以下方式加速:使用代理工具(如 Clash、V2Ray)配置全局代理。替换镜像源(如 FastGit)。

2. 下载 DeepSeek 模型

模型选择

  • 在 Ollama 模型库中搜索 deepseek-r1,根据硬件选择版本:1.5b(低配 CPU/入门 GPU)7b(中端 GPU,如 RTX 3060)16b(高端 GPU,如 RTX 3090/A100)若需量化版本,添加后缀(如 deepseek-r1:7b-q4 表示 4-bit 量化)。


Ollama 模型库中搜索 deepseek-r1 的界面

下载命令

# 示例:下载 7B 基础版ollama run deepseek-r1:7b

  • 首次运行会自动下载模型(约 5-30GB,具体取决于版本)。若下载中断,可通过 ollama pull deepseek-r1:7b 续传。


在终端中运行 ollama run deepseek-r1:1.5b 的示例


模型文件拉取过程示意图

3. 验证安装

查看已安装模型

ollama list

运行测试对话

ollama run deepseek-r1:7b> 你好,请介绍一下你自己。

预期输出

我是 DeepSeek-R1,一个专注于自然语言处理的人工智能模型...

三、配置可视化界面

方案一:Cherry Studio(推荐)

安装客户端
从 GitHub Release 下载最新版。

Releases · CherryHQ/cherry-studio · GitHub

配置模型

  • API 地址:http://localhost:11434/v1模型名称:deepseek-r1:7b(与下载版本一致)启用 GPU 加速:在设置中勾选 CUDA 选项(需已安装 GPU 驱动)。


Cherry Studio 配置界面示例


Cherry Studio 运行界面


与 DeepSeek R1 模型的对话示例

方案二:Open WebUI(Docker 部署)

  1. 安装 Docker
  • Windows/macOS:下载 Docker Desktop。Linux

curl -fsSL https://get.docker.com | shsudo usermod -aG docker $USER

  1. 启动 Open WebUI 容器
  • 非 GPU 环境

docker run -d -p 3000:8080 -v ollama-webui:/app/backend/data --name ollama-webui --restart always ghcr.io/open-webui/open-webui:main

  • GPU 环境(需已安装 NVIDIA Container Toolkit):

docker run -d -p 3000:8080 --gpus all -v ollama-webui:/app/backend/data --name ollama-webui --restart always ghcr.io/open-webui/open-webui:cuda

  1. 访问界面
    打开浏览器,输入 http://localhost:3000,登录后选择 deepseek-r1 模型即可使用。

四、高级配置与优化

1. 量化模型

  • 适用场景:显存不足时降低资源占用。
  • 下载命令

ollama run deepseek-r1:7b-q4 # 4-bit 量化版

2. 多 GPU 并行

  • 启动参数

CUDA_VISIBLE_DEVICES=0,1 ollama run deepseek-r1:16b # 指定 GPU 0 和 1

3. 自定义 Prompt 模板

在 ~/.ollama/config.json 中添加:

{

"model": "deepseek-r1:7b",

"prompt_template": "你是一个助手,请以专业且简洁的方式回答:{{.Prompt}}"

}

五、故障排除

问题现象

解决方案

模型下载失败

检查网络连接,使用 proxychains 或更换镜像源。

GPU 未识别

确认已安装 CUDA 驱动,运行 nvidia-smi 验证。

内存不足

换用更小模型或启用量化(如 7b-q8)。

API 端口冲突

修改 Ollama 端口:ollama serve --port 11435

六、注意事项

  1. 模型合规性:确保遵守 DeepSeek 模型的许可协议,禁止商用未授权版本。
  2. 资源监控:使用 htop(Linux)或 Task Manager(Windows)监控资源占用。
  3. 数据安全:若通过公网访问,建议配置 HTTPS 和身份验证(如 Open WebUI 的密码保护)。

通过本文档,您应能顺利完成 DeepSeek 模型的本地部署与优化。如有其他问题,可参考 Ollama 官方文档 或提交 Issue 至社区论坛。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2216.html

分享给朋友:

“本地部署 DeepSeek 模型的详细教程” 的相关文章

SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序

//xia仔のke:chaoxingit.com/208/全栈开发医疗小程序:利用Spring Boot 2.X、Vue和UniApp在当今数字化时代,医疗行业也在不断地迈向信息化和智能化的方向。开发一款医疗小程序,能够为用户提供便捷的医疗服务和信息查询,为医疗机构提供高效的管理和服务渠道。本文将介...

三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统

项目简述前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍三勾点餐系统基于java+springboot+element-plus+u...

三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码

项目介绍本系统功能包括: 前台展示+后台管理+SAAS管理端,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看吧。三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...

嵌入式实操——基于RT1170 使能SEMC配置SDRAM功能(八)

本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发MCUXpresso SDK SEMC API 接口链接  在MCUXpresso SDK 框架下提供了对SEMC DDR进行操作的接口。学习链接:https://community.nxp.com/...

微信研发新功能,或许有你最期待的

微信在我们日常社交中担任着非常重要的角色,不管是用于学习还是工作,我们越来越离不开微信,微信的任何一个小的变化都会影响到现如今超过12亿的微信用户。就在前一段时间,微信更新了一个“拍一拍”的功能,只要双击好友头像,头像就会有抖动并带有文字提示,一时间众多网友在朋友圈疯狂刷屏,虽然觉得这个功能毫无用处...