超详细!小白也能轻松实现的 DeepSeek-R1本地化部署 (包含WebUI)
其他文章推荐
本地部署相关: 通过gpt4all进行Deepseek-R1的本地部署(附4种在线打开方式)
RAG训练与数据投喂:手把手教你使用Ollama+AnythingLLM搭建个人本地知识库RAG,可进行数据投喂
其他应用集成Deepseek: DeepSeek 实用集成
文章目录
最近,一家杭州的公司经过技术迭代与升级,发布了全新一代大模型,“DeepSeek-R1”。由于这款大模型太过好用,DeepSeek R1 更是直接免费开源,在AI发烧友圈子传播后,传到了海外社交平台、技术论坛,引发了海外网友的连连称赞。
各项性能指标更是和OpenAI-o1 模型不相上下,甚至做到了小部分的超越,关键是开源的,因此我们可以本地部署使用。
不过在本地部署之前,需要各位朋友了解的是,本地部署的功能并不能做到与在线的Deepseek完全一致,除非你的显卡非常好,不差钱。本地部署的主要目的是方便自己训练,并且可以自己控制联网,对于担心数据上传会泄露的朋友可以确保数据的安全性。
一、认识部署工具:Ollama
Ollama官网:https://ollama.com/,官方网站的介绍就一句话:Get up and running with large language models. (开始使用大语言模型。)
Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型、降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Qwen2、Llama3、Phi3、Gemma2等开源的大型语言模型。
Ollama支持的大语言模型列表,可通过搜索模型名称查看:https://ollama.com/library
Ollama官方 GitHub 源代码仓库:https://github.com/ollama/ollama/
有些人可能会把Ollama
和Llama
混淆,Llama是 Meta 公司开源的备受欢迎的一个通用大语言模型,和其他大模型一样,Llama可以通过Ollama进行管理部署和推理等。
因此,Ollama
与Llama
的关系:Llama
是大语言模型,而Ollama
是大语言模型(不限于Llama
模型)便捷的管理和运维工具,它们只是名字后面部分恰巧相同而已!
二、安装Ollama
1、安装Ollama
Ollama 官方版:【点击前往】
直接来到官网,根据自己需要部署的系统的类型,windows的就选windows,mac的就选择mac,进行选择下载就好。直接点击Download
按钮,下载后双击安装,等待进度条结束后表示安装成功。
下载成功后,可能不一定会出现Ollama的图标,但是你可以在最近添加中找到,或者直接点击左下角的Window按钮,进行搜索Olliama,找到快捷方式即可。
需要注意的是,Ollama的默认安装路径为:C:\Users%username%\AppData\Local\Programs\Ollama。(这里的username就是你电脑的用户名。)
你也可以自行更改文件夹位置,但是需要配置环境变量。
2、配置环境变量(可跳过)
由于后面下载的大模型会比较占用内存空间,如果不想修改位置,直接放在C盘的,可以跳过这一步骤。如果是 Windows 系统建议修改(如:D:\OllamaModels),避免 C 盘空间吃紧。
首先,直接将文件夹移动到自己希望存放大模型的位置,比如我是放在了D:\Software\Ollama这个位置。那么就需要在环境变量中,添加上这一段文件路径。
接下来配置存放大模型的环境变量路径,配置好后,千万别忘记确定与保存,否则无法生效。
环境变量配置完成后,打开cmd窗口命令行(win+R,输入cmd),输入ollama -h
指令,如果出现如下英文,那么是可以运行的,否则就看下环境变量是不是搞错了,重新配置一下。
3、补充:部分环境变量说明
- OLLAMA_MODELS:模型文件存放目录,默认目录为当前用户目录(Windows 目录:
C:\Users%username%\ollama\models
,MacOS 目录:~/.ollama/models
,Linux 目录:/usr/share/ollama/.ollama/models
) - OLLAMA_HOST:Ollama 服务监听的网络地址,默认为127.0.0.1,如果允许其他电脑访问 Ollama(如:局域网中的其他电脑),建议设置成0.0.0.0,从而允许其他网络访问
- OLLAMA_PORT:Ollama 服务监听的默认端口,默认为11434,如果端口有冲突,可以修改设置成其他端口(如:8080等)
- OLLAMA_ORIGINS:HTTP 客户端请求来源,半角逗号分隔列表,若本地使用无严格要求,可以设置成星号,代表不受限制
- OLLAMA_KEEP_ALIVE:大模型加载到内存中后的存活时间,默认为5m即 5 分钟(如:纯数字如 300 代表 300 秒,0 代表处理请求响应后立即卸载模型,任何负数则表示一直存活);我们可设置成24h,即模型在内存中保持 24 小时,提高访问速度
- OLLAMA_NUM_PARALLEL:请求处理并发数量,默认为1,即单并发串行处理请求,可根据实际情况进行调整
- OLLAMA_MAX_QUEUE:请求队列长度,默认值为512,可以根据情况设置,超过队列长度请求被抛弃
- OLLAMA_DEBUG:输出 Debug 日志标识,应用研发阶段可以设置成1,即输出详细日志信息,便于排查问题
- OLLAMA_MAX_LOADED_MODELS:最多同时加载到内存中模型的数量,默认为1,即只能有 1 个模型在内存中
三、安装Deepseek-R1
首先咱们还是来到Ollama官网,点击左上角的Models
英文。
这里会出现很多AI大模型可供下载,本次我们选择的是DeepSeek-R1这个模型,点击进去。
可以看到,这个模型的版本也有很多,诸如1.5b、7b等等,越大表示参数越多,也就更加的智能化,后面的GB是大小,671b的已经达到了404个GB,建议个人还是下载较为轻量化的。
1.5B Qwen DeepSeek R1(显卡内存低于4G推荐)
ollama run deepseek-r1:1.5b
7B Qwen DeepSeek R1(显卡内存8-12G推荐)
ollama run deepseek-r1:7b
8B Llama DeepSeek R1(显卡内存8-12G推荐)
ollama run deepseek-r1:8b
14B Qwen DeepSeek R1(显卡内存12-24G推荐)
ollama run deepseek-r1:14b
32B Qwen DeepSeek R1(显卡内存大于24G推荐)
ollama run deepseek-r1:32b
70B Llama DeepSeek R1(不推荐本地部署)
ollama run deepseek-r1:70b
根据个人情况点击需要下载的模型,可以在右边看到有一串命令变了,然后我们点击复制这个按钮,复制这个命令。
来到我们刚刚打开的cmd控制台,将命令粘贴进去,回车运行该命令,Deepseek-R1就进行下载了。这里的速度会比较慢,因为Ollama并不是国内的站点,如果你有科学上网的办法,可以稍微快一点,耐心等待片刻即可。
下载成功后会显示如下信息,看到最下面有一个success
,那么就是成功了。
在这给控制台窗口就可以和Deepseek对话了。
四、安装可视化WebUI
为了有更加良好的体验,下面介绍一下如何在网站上,与Deepseek进行交流。
1、安装Node
这一步可以参考我之前的文章,只需要能够运行node即可。跳转链接
2、下载代码包
这一步我已经把代码包放到了网盘里面,直接下载即可。
链接:https://pan.quark.cn/s/b9df7f6cb94d
提取码:6GYv
3、运行代码包
代码包下载好,并且解压后,打开这个文件夹,确保里面的内容与下面图片的内容类似,防止解压后存在文件夹嵌套的情况。
在文件夹的路径中输入cmd,打开控制台。
输入命令npm install
进行依赖包的安装,回车执行,显示如下内容就是成功了。
再次运行命令npm run dev
进行代码的执行,如果出现如图所示的两个链接,那么就是成功了。你可以直接按住ctrl与鼠标点击进行打开。
打开后的效果如下。
你可以在这里切换大模型,我们选中刚刚下载好的Deepseek-R1,试试效果如何。
能够进行聊天回复,这样就表示成功啦。
五、总结
Deepseek-R1的这个模型功能是非常强大的,但是本地部署,确实比较烧显卡,并且对于个人来说,内存也是一个很大的问题。据主创团队的消息表示,他们正在进行优化,不知道后续是否能够进行压缩所需的成本。
后续我会研究一下,如何在本地化部署后,进行个人知识库的训练,如果成功的话,我会继续更新的,希望大家能够多多关注。
到此,Deepseek-R1模型的本地化部署就完成了,如果有问题可以在评论区留言。后续我会继续更新其他的相关内容,可以点个关注留意一下。如果觉得这篇文章有用,能够给你带来帮助,请点赞、收藏、关注一下,谢谢!!!最后祝您新年快乐!
六、补充内容
1、Ollama上的蒸馏模型评估
蒸馏模型可以理解为精简版本
模型 | AIME 2024 通行证@1 | AIME 2024 缺点@64 | MATH-500 通过@1 | GPQA 钻石通行证@1 | LiveCodeBench 通行证@1 | CodeForces 评级 |
---|---|---|---|---|---|---|
GPT-4o-0513 | 9.3 | 13.4 | 74.6 | 49.9 | 32.9 | 759 |
克劳德-3.5-十四行诗-1022 | 16.0 | 26.7 | 78.3 | 65.0 | 38.9 | 717 |
o1-mini | 63.6 | 80.0 | 90.0 | 60.0 | 53.8 | 1820 |
QwQ-32B-prev | 44.0 | 60.0 | 90.6 | 54.5 | 41.9 | 1316 |
DeepSeek-R1-Distill-Qwen-1.5B | 28.9 | 52.7 | 83.9 | 33.8 | 16.9 | 954 |
DeepSeek-R1-Distill-Qwen-7B | 55.5 | 83.3 | 92.8 | 49.1 | 37.6 | 1189 |
DeepSeek-R1-Distill-Qwen-14B | 69.7 | 80.0 | 93.9 | 59.1 | 53.1 | 1481 |
DeepSeek-R1-Distill-Qwen-32B | 72.6 | 83.3 | 94.3 | 62.1 | 57.2 | 1691 |
DeepSeek-R1-Distill-Llama-8B | 50.4 | 80.0 | 89.1 | 49.0 | 39.6 | 1205 |
DeepSeek-R1-Distill-Llama-70B | 70.0 | 86.7 | 94.5 | 65.2 | 57.5 | 1633 |
2、Ollama的管理指令补充
【展示本地大模型列表:ollama list
】
【删除单个本地大模型:ollama rm 本地模型名称
】
【启动本地模型:ollama run 本地模型名
】
【查看本地运行中模型列表:ollama ps
】
【复制本地大模型:ollama cp 本地存在的模型名 新复制模型名
】
3、Ollama客户端接口
Ollama 默认提供了generate
和chat
这 2 个原始的 API 接口,使用方式如下:
generate
接口的使用样例:
curl http://localhost:11434/api/generate -d "{
'model': 'qwen:0.5b',
'prompt': '为什么天空是蓝色的?'
}"
chat
接口的使用样例:
curl http://localhost:11434/api/chat -d '{
"model": "qwen:7b",
"messages": [
{ "role": "user", "content": "为什么天空是蓝色的?" }
]
}'
4、DeepSeek使用技巧
- 讲清楚目标
不需要给模型详细的步骤,只需定义清晰的目标。 - 提供背景信息
避免让模型猜测,明确任务背景以获得更精准的解决方案。 - 找到元问题
让模型反向提问,帮助深入思考和规划。 - 要求风格
指定风格或对标人物,让输出更具个性。 - 规定知识状态
让模型根据受众的知识水平调整表达方式。 - 转换视角
借助名⼈思维或不同角色的视角解决问题。 - 批判性思维
利用模型挑毛病或辩证思考,评估方案和决策。 - 开放讨论
提出开放性问题,探索深刻和本质的思考。
参考文档: