DeepSeek 本地部署
效果图(14b):
1、Ollama安装
Ollama是一个轻量级的本地AI模型运行框架,可在本地运行各种开源大语言模型(如Llama、Mistral 以及这次课程要求的DeepSeek)
Ollama官网(下载安装包):https://ollama.com/
根据自己的操作系统选择安装包,点击下载(安装包大小约 1GB )
下载好后,本地双击安装包下载
英雄且慢,后文会叙述如何修改Ollama以及本地模型的默认安装目录,如果你想直接把Ollama安装到自定义目录,可以在安装包目录的控制台执行以下命令(但是仍需依照后文修改环境变量)
OllamaSetup.exe /DIR=【填入目标路径】 # 以下是一个例子 OllamaSetup.exe /DIR=E:\Tools\Ollama
安装完成后,可以在控制台输入命令:ollama
验证是否安装成功
2、更改安装目录
Ollama默认装位置在:C:\Users\XX\AppData\Local\Programs\Ollama
模型默认下载位置:C:\Users\XX\.ollama
可以发现,如果按照默认路径安装,对C盘的压力非常大(C盘战士除外)
接下来叙述如何自定义目录安装Ollama
首先我们需要修改系统的环境变量(就像我们安装其他环境那样,比如说安装Java环境)
分别对【系统变量】和【用户变量】进行修改
------------------------------【用户变量】------------------------------
自定义Ollama安装路径(如果按照默认安装,则无需修改)
编辑用户变量Path
,新建一个值
新建两个用户变量,变量名和变量值如下
变量名:OLLAMA_HOST
变量值:0.0.0.0
变量名:OLLAMA_ORIGINS
变量值:*
------------------------------【系统变量】------------------------------
添加模型下载位置(如果按照默认安装,则无需修改)
变量名:OLLAMA_MODELS
变量值:下载路径,如E:\Tools\Ollama.ollama
注意,所有环境变量修改/新建后都需要点确定
。在完成所有环境变量的修改/新建后点击确定不能点击右上角 × 号
如果选择自定义安装修改完环境变量后,把Ollama(一般在C:\Users\XX\AppData\Local\Programs\Ollama
)剪贴到自定义目录
最后,重启Ollama(如果你没有这个图标,那就是并未启动Ollama,也无需重启)
重启操作流程:鼠标右键,然后点击Quit Ollama
即可关闭Ollama服务。之后重启控制台,在控制台输入命令:ollama
就是重启成功啦~
3、模型下载
在Ollama官网上找到DeepSeek的安装命令:
将复制的命令粘贴到控制台,即可开始安装(不过你应该先看看【4、自动化安装】,你会回来感谢我的)
整理了所有deepseek-r1安装命令,以及对应的配置需求
ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b
1.5b,7b,8b 电脑运行内存至少为8G
14b, 电脑运行内存至少为16G
32b , 电脑运行内存至少为32G
70b,671b 不建议在笔记本上本地部署
安装完成后,在控制台执行命令:ollama list
查看模型是否安装成功
4、自动化安装
在安装模型时,会发现一个奇怪的现象:使用ollama run下载模型的时候,刚开始下载速度比较快,后面速度越来越慢设置预计下载时间越来越长QAQ。这是ollama run的老毛病了。
Ctrl + C中断下载在重新执行下载命令(前提是不能退出Ollama服务)可以让ollama run下载模型一直保持开始比较快的下载速度。
但是21世纪了,咱们不能一直守在电脑前手动操作吧,于是就有了以下自动中断+重新下载的脚本
while ($true) {
# 检查模型是否已下载完成
$modelExists = ollama list | Select-String "【填入模型以及参数】"
if ($modelExists) {
Write-Host "模型已下载完成!"
break
}
# 启动ollama进程并记录
Write-Host "开始下载模型..."
$process = Start-Process -FilePath "ollama" -ArgumentList "run", "【填入模型以及参数】" -PassThru -NoNewWindow
# 等待30秒
Start-Sleep -Seconds 30
# 尝试终止进程
try {
Stop-Process -Id $process.Id -Force -ErrorAction Stop
Write-Host "已中断本次下载,准备重新尝试..."
}
catch {
Write-Host "进程已结束,无需中断。"
}
}
以下是下载deepseek-r1
参数70b
的样例
while ($true) {
# 检查模型是否已下载完成
$modelExists = ollama list | Select-String "deepseek-r1:70b"
if ($modelExists) {
Write-Host "模型已下载完成!"
break
}
# 启动ollama进程并记录
Write-Host "开始下载模型..."
$process = Start-Process -FilePath "ollama" -ArgumentList "run", "deepseek-r1:70b" -PassThru -NoNewWindow
# 等待30秒
Start-Sleep -Seconds 30
# 尝试终止进程
try {
Stop-Process -Id $process.Id -Force -ErrorAction Stop
Write-Host "已中断本次下载,准备重新尝试..."
}
catch {
Write-Host "进程已结束,无需中断。"
}
}
将脚本保存为.ps1
后缀的文件,在脚本目录下打开控制台,点杠执行脚本,比如:
./dp70.ps1
下载完成后,就可以愉快的使用本地DeepSeek啦(虽然远远不如满血online版的好用)
后续还有很多扩展操作,比如可以加个外壳,ANYthing LLM或者dify或者Cherry studio,也可以加个知识库,试试RAG功能。大家自行探索~