文章目录
- 1. 什么是 DeepSeek R1?
- a. 主要介绍
- a. 版本区别
- 2. 部署资源要求
- a. 硬件资源要求
- 3. 本地安装DeepSeek-R1
- a. 为什么选择本地部署?
- b. 部署工具对比
- c. 演示环境配置
- d. Ollama安装流程
- 4. 可视化工具
- a. 工具对比
- b. Open-WebUI部署
- 5. AI API应用
- a. Python SDK实战
- c. Spring AI集成
- 6. 小结
1. 什么是 DeepSeek R1?
a. 主要介绍
DeepSeek介绍:
- 公司背景:DeepSeek是一家专注于通用人工智能的中国科技公司,主攻大模型研发与应用。
- DeepSeek-R1:其开源的推理模型,擅长处理复杂任务且可免费商用,性能在数学、代码、自然语言推理等任务上与OpenAI o1正式版相当。
- 其主要亮点包括:
- 完全开源,可自由使用;
- 支持本地运行,无需依赖云服务器;
- 数据完全可控,确保隐私安全。
a. 版本区别
根据官方信息DeepSeek R1 可以看到提供多个版本,包括完整版(671B 参数)和蒸馏版(1.5B 到 70B 参数)。
- 完整版性能强大,但需要极高的硬件配置;
- 蒸馏版则更适合普通用户,硬件要求较低
DeepSeek-R1官方地址:https://github.com/deepseek-ai/DeepSeek-R1
- 完整版(671B):需要至少 350GB 显存/内存,适合专业服务器部署
- 蒸馏版:基于开源模型(如 QWEN 和 LLAMA)微调,参数量从 1.5B 到 70B 不等,适合本地硬件部署。
蒸馏版与完整版的区别:
维度 | 完整版 | 蒸馏版 |
---|---|---|
参数量 | 参数量较大(671B),性能最强。 | 参数量较少(如 1.5B、7B),性能接近完整版但略有下降。 |
硬件需求 | 至少 350GB 显存/内存,需高端硬件支持。 | 至少 4GB 显存/内存,适合低配硬件。 |
适用场景 | 适合高精度任务和专业场景。 | 适合轻量级任务和资源有限的设备。 |
接下来详细看下蒸馏版模型的特点:
模型版本 | 参数量 | 特点 |
---|---|---|
deepseek-r1:1.5b | 1.5B | 轻量级模型,适合低配硬件,性能有限但运行速度快 |
deepseek-r1:7b | 7B | 平衡型模型,适合大多数任务,性能较好且硬件需求适中 |
deepseek-r1:8b | 8B | 略高于 7B 模型,性能稍强,适合需要更高精度的场景 |
deepseek-r1:14b | 14B | 高性能模型,适合复杂任务(如数字推理、代码生成),硬件需求较高 |
deepseek-r1:32b | 32B | 专业级模型,性能强大,适合研究和高精度任务,需高端硬件支持 |
deepseek-r1:70b | 70B | 顶级模型,性能最强,适合大规模计算和高复杂度任务,需专业级硬件支持 |
进一步的模型细分还分为量化版:
模型版本 | 参数量 | 特点 |
---|---|---|
deepseek-r1:1.5b-quen-distill-q4_K_M | 1.5B | 轻量级模型,适合低配硬件,性能有限但运行速度快,使用了4-bit量化,模型精度下降 |
deepseek-r1:7b-quen-distill-q4_K_M | 7B | 平衡型模型,适合大多数任务,性能较好且硬件需求适中,使用了4-bit量化,模型精度下降 |
deepseek-r1:8b-llana-distill-q4_K_M | 8B | 略高于7B模型,性能稍强,适合需要更高精度的场景,使用了4-bit量化,模型精度下降 |
deepseek-r1:14b-quen-distill-q4_K_M | 14B | 高性能模型,适合复杂任务(如数字推理、代码生成),硬件需求较高,使用了4-bit量化,模型精度下降 |
deepseek-r1:32b-quen-distill-q4_K_M | 32B | 专业级模型,性能强大,适合研究和高精度任务,需高端硬件支持,使用了4-bit量化,模型精度下降 |
deepseek-r1:76b-llana-distill-q4_K_M | 70B | 顶级模型,性能最强,适合大规模计算和高复杂度任务,需专业级硬件支持,使用了4-bit量化,模型精度下降 |
最后我们了解下,蒸馏版与量化版的区别:
维度 | 特点 |
---|---|
蒸馏版 | 基于大模型(如 QWEN 或 LLAMA)微调,参数量减少但性能接近原版,适合低配硬件。 |
量化版 | 使用 4-bit/8-bit 量化可大幅降低显存需求(如bitsandbytes[6]),适合资源有限的设备。 |
例如:
- deepseek-r1:7b-qwen-distill-q4_K_M:7B 模型的蒸馏+量化版本,显存需求从 5GB 降至 3GB。
- deepseek-r1:32b-qwen-distill-q4_K_M:32B 模型的蒸馏+量化版本,显存需求从 22GB 降至 16GB
我们正常本地部署使用蒸馏版就可以
2. 部署资源要求
a. 硬件资源要求
不同操作系统基础环境:
-
Windows:
- 依赖 CUDA 和 NVIDIA 驱动,推荐使用 RTX 30/40 系列。
- 大模型(14B+)需借助量化或模型分片技术。
-
macOS:
- 仅限 Apple Silicon 芯片(M1/M2/M3),依赖 Metal 加速。
- 模型规模超过 14B 时性能显著下降,建议量化或云端部署。
-
Linux:
- 支持多 GPU 扩展和高效资源管理(如 NVIDIA Docker)。
- 适合部署大型模型(14B+),需专业级硬件。
-
硬件配置:
可根据下表配置选择使用自己的模型
模型名称 | 参数量 | 模型大小 | 显存/内存 |
---|---|---|---|
deepseek-r1:1.5b | 1.5B | 1.1 GB | ~2 GB |
deepseek-r1:7b | 7B | 4.7 GB | ~5 GB |
deepseek-r1:8b | 8B | 4.9 GB | ~6 GB |
deepseek-r1:14b | 14B | 9.0 GB | ~10 GB |
deepseek-r1:32b | 32B | 20 GB | ~22 GB |
deepseek-r1:70b | 70B | 43 GB | ~45 GB |
deepseek-r1:1.5b-qwen-distill-q4_K_M | 1.5B | 1.1 GB | ~2 GB |
deepseek-r1:7b-qwen-distill-q4_K_M | 7B | 4.7 GB | ~5 GB |
deepseek-r1:8b-llama-distill-q4_K_M | 8B | 4.9 GB | ~6 GB |
deepseek-r1:14b-qwen-distill-q4_K_M | 14B | 9.0 GB | ~10 GB |
deepseek-r1:32b-qwen-distill-q4_K_M | 32B | 20 GB | ~22 GB |
deepseek-r1:70b-llama-distill-q4_K_M | 70B | 43 GB | ~45 GB |
3. 本地安装DeepSeek-R1
a. 为什么选择本地部署?
本地运行 AI 模型有以下优势:
- 隐私保障:保证数据‘不出域’,所有数据均存储在本地,避免敏感信息泄露。
- 零额外成本:DeepSeek R1 免费运行,无需订阅或额外费用。
- 完全控制:可以进行微调和本地优化,无需外部依赖。
b. 部署工具对比
部署可以使用Ollama、LM Studio、KubeML 、Docker等工具进行部署。
- Ollama:
- 支持 Windows、Linux 和 Mac 系统,提供命令行和 Docker 部署方式,安装只能默认到C盘
- 使用命令
ollama run deepseek-r1:7b
下载并运行模型 - 本地大模型管理框架,Ollama 让用户能够在本地环境中高效地部署和使用语言模型,而无需依赖云服务。
- LM Studio:
- 支持 Windows 和 Mac,提供可视化界面,适合新手用户
- 部署方式:桌面应用程序(GUI)
- 核心功能:零配置可视化界面,支持直接加载 HuggingFace 模型库、CPU+GPU 混合推理优化,适配低配硬件(如消费级显卡)、本地模型实验沙盒,无服务化部署能力。
- Docker:
- 支持系统:Linux、Windows(需 Docker Desktop)。
- 部署方式:容器化部署(单机)
- 使用命令
docker run -d --gpus=all -p 11434:11434 --name ollama ollama/ollama
启动容器。 - 核心功能:环境隔离性强,依赖项封装为镜像,需配合 Docker Compose/Swarm 实现多机编排。
- KubeML:
- 支持系统:依赖 Kubernetes 集群(跨平台)
- 部署方式:Kubernetes 原生扩展
- 生产级特性:基于 Kubernetes 的自动扩缩容(HPA/VPA 集成)、分布式训练框架支持(PyTorch/TensorFlow 多节点调度)、资源配额监控与 GPU 共享策略。
根据工具特性对比表格如下:
工具 | 优势 | 局限 | 适用场景 |
---|---|---|---|
Ollama | 单节点快速部署,轻量化启动 | 缺乏集群管理能力,仅支持单机运行 | 开发测试环境/个人实验 |
KubeML | 支持K8s自动扩缩容,生产级资源调度 | 需K8s基础,学习曲线陡峭 | 大规模生产环境/分布式训练 |
Docker | 配置即代码,环境隔离性强 | 多机编排需Compose/Swarm配合 | 中小型生产环境/容器化部署 |
LM Studio | 零配置可视化界面,本地模型快速实验 | 仅限本地单机,无服务化部署能力 | 个人开发者原型验证/模型效果测试 |
补充说明:
-
LM Studio
- 核心价值:专注于本地化模型实验,提供开箱即用的GUI界面,支持直接加载HuggingFace模型
- 典型用例:研究人员快速验证模型效果,无需编写部署代码
- 进阶限制:无法导出为API服务,缺乏用户权限管理等生产级功能
-
横向对比维度
- 扩展性:KubeML > Docker > Ollama > LM Studio
- 易用性:LM Studio > Ollama > Docker > KubeML
- 生产就绪:KubeML > Docker > Ollama(LM Studio不适合生产)
-
混合部署建议
- 开发阶段:用LM Studio/Ollama快速验证模型
- 测试阶段:通过Docker构建原型API
- 生产阶段:使用KubeML实现弹性伸缩,配合Prometheus监控
c. 演示环境配置
我这里的演示的本地环境:
- 操作系统:
- 系统版本:Windows 11 企业版
- CPU规格
- CPU型号:Intel® Core™ i9-10900X CPU @ 3.70GHz 3.70 GHz
- CPU核数:20 核
- 内存规格:
- 内存:64.0 GB
- 存储规格:
- 型号:Samsung SSD 970 EVO Plus 2TB
- 容量:2TB
- 类型:固态硬盘(SSD),NVMe SSD
- 显卡规格:
- 显卡型号:NVIDIA RTX 4090
- 显存大小:24GB
- 显卡驱动:32.0.15.6094 (NVIDIA 560.94) DCH / Win11 64
- 显卡计算技术:OpenCL, CUDA, DirectCompute, DirectML, Vulkan, Ray Tracing, PhysX, OpenGL 4.6
系统配置截图:
显卡参数截图:
因为我的需求主要开发/测试,所有我最终选择使用Ollama安装,关于如何选择合适的模型版本以及配置相应的硬件资源参考以下:
-
选择模型版本:
- 跟我们电脑硬件的,最终选择DeepSeek-R1模型蒸馏版32B的版本。
-
通用配置原则:
- 模型显存占用:每1B参数约需1.5-2GB显存(FP16精度)或0.75-1GB显存(INT8/4-bit量化)。
- 例如,32B模型在FP16下需约48-64GB显存,量化后可能降至24-32GB。
- 内存需求:至少为模型大小的2倍(用于加载和计算缓冲)。
- 存储:建议使用NVMe SSD,模型文件大小从1.5B(约64GB)不等。
- 模型显存占用:每1B参数约需1.5-2GB显存(FP16精度)或0.75-1GB显存(INT8/4-bit量化)。
总之根据自己实际情况,选择模型版本和配置硬件资源,以确保模型能够顺利运行。
d. Ollama安装流程
官方地址:https://ollama.com/
步骤1:下载Ollama服务安装包
步骤2:安装Ollama服务
控制台验证是否成功安装?
步骤3:选择并安装模型
我们再回到Ollama官网选择模型,选择适合你的蒸馏量化模型复制命令进行安装
ollama run deepseek-r1:32b
步骤4:加载模型
ollama run deepseek-r1:32b
可以看到安装完成:
输入指令测试下:
步骤5:配置远程Ollama服务(可选)
默认情况下,Ollama 服务仅在本地运行,不对外提供服务。要使 Ollama 服务能够对外提供服务,你需要设置以下两个环境变量:
OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*
在 Windows 上,Ollama 会继承你的用户和系统环境变量。
- 通过任务栏退出 Ollama。
- 打开设置(Windows 11)或控制面板(Windows 10),并搜索“环境变量”。
- 点击编辑你账户的环境变量。
- 为你的用户账户编辑或创建新的变量
OLLAMA_HOST
,值为 0.0.0.0; 为你的用户账户编辑或创建新的变量OLLAMA_ORIGINS
,值为 *。
- 为你的用户账户编辑或创建新的变量
- 点击确定/应用以保存设置。
- 从 Windows 开始菜单启动 Ollama 应用程序。
其它系统请参考:https://chatboxai.app/zh/help-center/connect-chatbox-remote-ollama-service-guide
注意事项:
- 可能需要在防火墙中允许 Ollama 服务的端口(默认为 11434),具体取决于你的操作系统和网络环境。
- 为避免安全风险,请不要将 Ollama 服务暴露在公共网络中。办公网络是一个相对安全的环境。
步骤6:验证部署
返回HTTP 200即为成功
curl http://远程IP:11434/api/status
步骤7:ollama相关命令
# 查看已安装模型:
ollama list# 删除已安装的模型(模型名称替换你自己的):
ollama rm deepseek-r1:32
4. 可视化工具
为了获得更好的交互体验,可以安装可视化工具使用。
a. 工具对比
这里介绍下Open-WebUI、Dify、Chatbox
1. Open-WebUI
定位:轻量级自托管LLM交互界面
核心功能:
- 提供简洁的Web UI与大模型交互,支持本地或云端部署的LLM(如Llama、GPT等)。
- 支持会话标签管理,便于多任务切换和历史记录追溯。
- 集成80+插件生态,可扩展文件解析、知识库检索等功能。
- 低延迟(≤50ms),适合个人用户快速调用本地模型。
适用场景:
- 个人开发者或研究者本地调试大模型。
- 需要轻量化、高定制化UI的LLM交互场景。
局限性:
- 无API接口,无法直接集成到企业级应用中。
- 功能聚焦于交互界面,缺乏应用开发支持。
2. Dify
定位:企业级LLM应用开发平台
核心功能:
- 提供可视化工作流编排,支持RAG、AI Agent等复杂应用开发。
- 内置API服务,便于集成到现有系统(如客服、数据分析工具)。
- 支持MongoDB/PostgreSQL存储,管理对话日志、知识库等结构化数据。
- 提供企业级权限管理、数据审计和监控功能。
适用场景:
- 开发智能客服、知识库问答等AI SaaS服务。
- 企业需要快速构建可扩展的LLM应用并集成API。
对比同类工具:
- 与AnythingLLM相比,Dify更强调开发灵活性,适合复杂业务逻辑;而AnythingLLM偏向开箱即用的知识库管理。
3. Chatbox
定位:跨平台桌面客户端工具
核心功能:
- 极低延迟(≤30ms),支持主流模型(GPT/Claude/文心一言等)快速调用。
- 对话流程编排功能,可预设提示词模板、多轮对话逻辑。
- 内置20+实用插件(如代码高亮、Markdown渲染、数据导出)。
- 一键安装,跨平台支持(Windows/macOS/Linux),部署复杂度极低(★☆☆☆☆)。
特色优势:
- 开发者友好:支持调试模式、请求日志追踪和快捷键操作。
- 轻量化:客户端无需服务器资源,适合本地开发测试。
适用场景:
- 开发者调试模型API或设计对话流程。
- 个人用户需要轻量、高效的桌面端LLM工具。
对比总结
维度 | Open-WebUI | Dify | Chatbox |
---|---|---|---|
核心定位 | 自托管交互界面 | LLM应用开发平台 | 跨平台客户端工具 |
API支持 | ❌ 无 | ✅ 提供完整API | ❌ 无(纯客户端) |
部署难度 | 中等(需配置环境) | 较高(依赖数据库) | 极低(开箱即用) |
适用场景 | 个人本地模型交互 | 企业级应用开发 | 开发者调试/轻量使用 |
生态扩展 | 80+插件 | 企业级功能模块 | 20+效率插件 |
选择建议:
- 个人用户本地调试选 Open-WebUI;
- 企业构建AI应用选 Dify;
- 开发者需要轻量调试工具选 Chatbox。
因为我们主要是个人使用,这里选择Open-WebUI。
b. Open-WebUI部署
Open-WebUI官方地址:https://github.com/open-webui/open-webui
Open-WebUI官方文档地址:https://docs.openwebui.com/getting-started/
根据官网文档可使用pip和docker进行安装,我这里避免影响本地环境使用docker进行安装:
docker run \-d \--name open-webui \--restart always \-p 3000:8080 \-e OLLAMA_BASE_URL=http://192.168.3.60:11434 \-v open-webui:/app/backend/data \ghcr.io/open-webui/open-webui:main
注意:设置环境变量 OLLAMA_BASE_URL,指向运行 Ollama 的服务器地址和端口。
服务启动成功如下:
访问http://localhost:3000/
创建管理员账号
简单的测试下
5. AI API应用
这里列出了可以调用Ollama服务的很多类库:https://github.com/ollama/ollama。
a. Python SDK实战
先安装模块:
pip install ollama
用VS Code编写代码如下:
from ollama import Clientclient = Client(host='http://192.168.3.60:11434',headers={'x-some-header': 'some-value'}
)
response = client.chat(model='deepseek-r1:32b', messages=[{'role': 'user','content': '你是谁?',},
])print(response)
执行结果:
c. Spring AI集成
我们可以通过Spring Boot与Spring AI来调用DeepSeek-R1模型,并实现API服务。Spring Boot提供了丰富的功能,能够轻松与Ollama结合,处理来自客户端的请求,并返回模型的推理结果。
步骤1:构建 Spring Boot 项目
首先,使用Spring Initializr创建一个Spring Boot项目,并添加Spring AI依赖。确保在pom.xml中包含以下依赖项:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
步骤2: 配置 Ollama
spring.ai.ollama.base-url=http://192.168.3.60:11434
spring.ai.ollama.chat.model=deepseek-r1:32b
步骤3:编写代码调用模型
@Bean
@SpringBootTest(classes = DemoApplication.class)
public class TestOllama {@Autowired
private OllamaChatModel ollamaChatModel;@Test
public void testChatModel() {
String prompt = "请将以下英文翻译成中文:";
String message = "Ollama now supports tool calling with popular models such as Llama 3.1.";String result = ollamaChatModel.call(prompt + " " + message);
System.out.println(result);
}
}
行以上代码,Spring Boot会向Ollama发送请求,并返回DeepSeek-R1生成的翻译结果。如下:
6. 小结
本文实现从基础部署到业务集成的全链路实践:
- 版本选择:根据需求与硬件预算选择蒸馏版/完整版
- 部署模式:Ollama适合快速验证,KubeML满足生产需求
- 生态整合:通过标准化API实现与现有系统的无缝对接
后续建议:
- 结合搜索库实现日志分析自动化
- 使用构建个人知识问答系统
参考资料:
- https://www.cnblogs.com/zzy0471/p/18698656
- https://blog.csdn.net/yht874690625/article/details/145483279