本地部署 DeepSeek-R1
本地部署 DeepSeek-R1
一、前言
最近 DeepSeek 很出圈啊,很久没分享过内容了,趁着今年过年有时间,跟大家分享一下如何本地部署 DeepSeek-R1。
那么,本地部署 DeepSeek-R1 适合什么样的人?
- 开发者,希望借助本地部署的模型灵活做些事情的 🧑💻
- 希望数据保密,不想数据通过网络上传的 🔒
- 我不管,我就是想本地部署玩玩的 🫡
本地部署不适合什么样的人?
- 只是简单用一下聊天功能的
- 数据不敏感的,可以放心与在线服务交互、且没有特殊需求的。
总结一下:
不想要折腾的人,直接使用在线的服务就可以了。在线服务快捷方便,不费心思不动脑,现在还是免费的,就算以后推出会员版本的话,直接开会员就行了,本地跑模型不也要掏电费的嘛,不用在乎这点小钱。
另外,消费级个人电脑肯定也没法部署太大的模型,跑一跑蒸馏出来的 32b 或者 70b 模型基本就到头了,而线上的模型动辄数百B参数起步,效果必然也比小模型好很多。如果现在劝退你了,你就可以不用往后看啦~
如果你还是想要折腾,那就来吧,开始喂饭!
二、安装 Ollama
本地部署开源大模型,目前常用的选择有两种,Ollama
和 LM Studio
。其中 Ollama
使用起来更轻量便捷,LM Studio
相对笨重一些、但功能更加强大。
我们只是想把开源的 DeepSeek-R1 蒸馏模型在本地部署运行,那直接选择更简单的 Ollama
即可,如果你有其他需求,可以考虑 LM Studio
。
官网地址:
-
Ollama
: https://ollama.com/ -
LM Studio
: https://lmstudio.ai/
不论是 Ollama
还是 LM Studio
,都可以直接从官网下载,然后直接安装即可。两者都支持 macOS
、Windows
、Linux
全平台。
1、安装
比如这是 Ollama
的官网,下载安装即可:
安装完成后,运行 Ollama
,然后我们打开终端(Windows
下面就是 cmd
)。
输入:
ollama -h
输出:
Large language model runner
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
如果正常出现了使用说明,并且没有报错的话,那么恭喜你,安装已经完成了。
2、额外设置
模型下载目录调整 (macOS
和 Linux
用户可跳过)
如果你使用的是 Windows
,此时 Ollama
默认会将模型保存在 C
盘下,完整路径为 C:\Users\<用户名>\.ollama\models
。
如果你想调整,可以通过修改 Windows
环境变量的方式实现,添加一个名为 OLLAMA_MODELS
的系统环境变量,变量值为你期望的模型保存路径,如 D:\Ollama\OllamaModels
。
如果你不知道该怎么修改环境变量,参考这个路径:
右键此电脑
或计算机
-> 属性
-> 高级系统设置
-> 高级
选项卡 -> 环境变量
-> 系统环境变量
下的新建
按钮,然后输入变量名和变量值即可。
远程连接设置(不需要可跳过)
设想这两种场景:
- 你想要在电脑上部署
DeepSeek-R1
,然后在手机、平板或者其他地方调用电脑上部署的大模型服务 - 你有一台高性能但不常用的台式机,以及一台办公常用但性能相对较弱的笔记本,你想要在台式机上部署运行大模型,然后在笔记本或者其他设备上使用它
默认情况下 Ollama
仅在本地运行,不对外提供服务。如果你属于上面说的两种场景之一,我们需要先设置 Ollama
的远程连接服务。
分不同系统讨论具体的设置方法,更多的细节请参考 Chatbox
编写的帮助文档:
如何将 Chatbox 连接到远程 Ollama 服务:逐步指南(https://chatboxai.app/zh/help-center/connect-chatbox-remote-ollama-service-guide)
macOS:
打开终端,输入:
launchctl setenv OLLAMA_HOST "0.0.0.0"
launchctl setenv OLLAMA_ORIGINS "*"
重启 Ollama
。
Windows:
也是通过修改环境变量的方式实现,新建两个环境变量:
- 变量名:
OLLAMA_HOST
,变量值0.0.0.0
- 变量名:
OLLAMA_ORIGINS
,变量值*
重启 Ollama
。
Linux:
打开终端,调用 systemctl edit ollama.service
编辑 systemd 服务配置。
在打开的配置文件中,[Service]
部分下添加两行环境变量信息:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
保存并退出,然后在终端中执行命令重新加载 systemd
:
systemctl daemon-reload
systemctl restart ollama
重启 Ollama
。
防火墙
Ollama
默认使用 11434
端口,如果你的防火墙有入站的端口拦截,请开放 11434
端口。
3、选择并下载模型
在 Ollama
的官网上,可以找到目前 Ollama
支持的模型列表,地址为 https://ollama.com/search
在列表页面中,我们能够找到 deepseek-r1
模型,并看到它支持 1.5b
/7b
/8b
/14b
/32b
/70b
/671b
共七种不同规格的模型。
在详情页中,可以看到不同规格模型的参数量大小:
接下来,我们需要根据自己的电脑参数选择合适的模型规格,这个就看自己电脑情况了,每个人不一样,电脑配置更高,就可以尝试跑更大的模型。一个最简单的方法是,先看你显卡的显存大小,比如你显卡显存是 24GB
,那你就不用考虑参数文件大于 24GB
的模型了,比如 70b
和 671b
。然后在剩下的模型中,优先选择参数量更大的,如果跑不起来、或者运行缓慢,再逐步降级到更次一级的模型去,直到选择到合适的模型。
不过 671b
这个,真的是家用机完全不用想了,404GB
太恐怖了…
值得一提的是,Ollama
现在已经支持 AMD
的显卡了(不过只支持了部分,如果你的显卡不在支持列表中,可能需要做一些额外修改),用 AMD
显卡的小伙伴们也可以畅享 DeepSeek-R1
了。
我有一台 m1 pro
芯片的 32GB
内存的 macbook pro
,测试下来跑 deepseek-r1:8b
比较流畅,而 deepseek-r1:14b
能跑但是运行缓慢,一秒蹦几个字…
还有一台 7900XTX
显卡的台式机,测试下来可以流畅运行 deepseek-r1:32b
。
选择好想要运行的模型,就可以开始实际操作了,我以在 macOS
上运行 deepseek-r1:8b
为例演示下载和运行的过程,其他平台/模型的操作方式基本一致。
打开终端:
输入:
ollama run deepseek-r1:8b
输出:
pulling manifest
pulling 6340dc3229b0... 11% ▕███████████████ ▏ 526 MB/4.9 GB 58 MB/s 1m15s
这种情况就是开始下载了,静等下载完成。
下载完成后就自动进入到命令行交互了:
你可以通过命令行直接和模型进行交互,比如我问它,2025年是闰年吗?
回答:
根据目前的了解,2024年是闰年,因此2025年不是闰年。闰年的判断标准是:能被4整除但不能被100整除,或者能被400整除。2025年不符合这些条件,所以它不是闰年。
如果问 deepseek-r1:14b
同样的问题,回答是:
2025年不是闰年。
闰年的判断规则如下:
普通年能被4整除的为闰年,但世纪年(即能被100整除的年份)必须能被400整除才是闰年。
例如:
- 2008年是闰年(普通年且能被4整除)。
- 1900年不是闰年(世纪年但不能被400整除)。
- 2000年是闰年(世纪年且能被400整除)。
计算过程:
- 2025 ÷ 4 = 506.25,有余数。
- 因此,2025年不是闰年。
结论:
2025年不是闰年。
能够看到,对于简单的问题,不论是 8b
还是 14b
,都回答得挺好的。
三、安装 Chatbox
如果只是在命令行中和大模型交互,那目前所有的工作都已经做完了。但在命令行中进行交互,毕竟还是不太方便,我们可能更想要通过界面进行交互,并且赋予大模型额外的功能。
此类工具这里我也推荐两个,一个是 Chatbox
,另一个是 AnythingLLM
。两者的区别其实也和前面提到的 Ollama
和 LM Studio
差不多, Chatbox
更轻量便捷,适合个人日常使用,AnythingLLM
稍微笨重一些但功能更强大,适合企业端构建知识库、分用户管理等场景。
两者的官网我也放在下方:
-
Chatbox
: https://chatboxai.app/zh -
AnythingLLM
: https://anythingllm.com/
这里我们依然选择更为简单便捷的 Chatbox
进行演示,如果有其他需求,可以自行安装 AnythingLLM
。
Chatbox
直接从官网下载就可以了,支持 Windows
/ macOS
/ Android
/ iOS
/ Linux
以及网页端。
打开 Chatbox
之后,可以从左下角找到 ⚙️ 设置
,打开设置页面,模型提供方
选择 OLLAMA API
,API 域名
如果是本机部署的就填 http://127.0.0.1:11434
,如果是部署在其他机器上的就填写http://机器ip:11434
, 填写完成后在 模型
选择框内就能够看到该机器上已经下载好的模型,选择你要使用的,点击保存即可。
比如我这里是部署在同局域网下的台式机上,ip 为 192.168.31.252
,使用的模型是 deepseek-r1:32b
。
至此,我们就完成了所有设置,接下来正常使用就可以了。比如我们在 Chatbox
的对话中选择 Just chat
,然后和模型对话。
问:”请使用 Python 实现最小生成树算法“。
思考链路:
正式答复:
内容比较多,我就不完整截取了,大家可以自行测试。
Chatbox
里面还有一些基于提示词和角色设定的搭档工具,比如翻译助手、夸夸机之类的,我就不一一演示了,有兴趣也可以自行探索。
值得一提的是里面有个叫 Artifact Preview
的搭档工具挺有意思的,你可以跟它提需求让它写 HTML
页面,写完之后可以预览效果,并根据你给出的反馈进一步迭代页面,我觉得还挺有意思的。
输入
一个看起来比较有科技感的页面,正中间有几个字 “DeepSeek”
deepseek-r1:32b 写出的页面
背景中的三个光圈还是有动画的,会规律性地放大缩小周期运动,我没有截取动态图片。
四、总结
提供两个版本的总结, deepseek-r1:32b
的和我的。
deepseek-r1:32b
通过本文的介绍,我们详细探讨了如何本地部署并配置Ollama模型,以及如何在Chatbox或其他交互界面中实现高效的对话交互。整个过程涵盖了从环境准备、工具安装到参数调整和优化的完整流程,并针对实际应用中可能遇到的问题提供了相应的解决方案。
本地化部署Ollama不仅能够显著提升响应速度和性能表现,还为用户带来了更高的数据控制权和隐私安全性。通过合理选择模型大小、调优配置参数以及充分利用硬件资源,我们可以充分发挥大语言模型的强大能力,满足多样化的应用场景需求。
未来,在AI技术不断进步的背景下,本地化部署和优化将成为更多开发者和用户的关注焦点。希望本文能够为读者提供有价值的参考,帮助大家更好地理解和实践Ollama模型的本地化应用,并在此基础上进一步探索和创新。
emmm…它这个总结我部分认可吧,有些小毛病,但整体看起来也没啥大问题。
我
没什么好说的了,深度求索公司这波操作确实厉害,真真正正实现了破圈的现象级热点,很强。愿中国科技腾飞,愿华夏人人如龙吧!
🤖 对了,最后再强调一句,如果真的不是有什么硬需求的话,真的还是别折腾了,老老实实去用线上端或者API吧,本地部署的性能是不可能追上线上端的~