缘起:
- 最近DeepSeek比较火,想下载R1模型体验下,发现了下载速度问题。
问题:
- 使用ollama run 下载模型的时候,刚开始比较快,后面越来越慢。
过程:
- 通过Ctrl+C组合键中断下载之后,再次运行ollama run命令,发现刚开始速度快,后面还是慢下来了。
- 重复使用该操作,实现模型高速下载,后来想通过脚本实现自动实现该流程。
解决:
使用deepseek询问,然后使用deepseek给出的脚本,实现了自动化中断并高速下载模型的功能。
Q:通过powershell执行一个命令 ollama run deepseek-r1:14b,现在需要执行60秒后中断,然后再次执行、再等60秒后中断,一直循环等到模型下载完成。
A:你可以使用以下PowerShell脚本实现循环执行命令并在60秒后中断,直到模型下载完成:
使用:
- 使用文本编辑器文本编辑器(如记事本、Visual Studio Code 等),复制下面的代码并保存文件,脚本文件的扩展名为 .ps1
- 打开PowerShell终端,通过cd命令切换到脚本文件所在目录,然后直接输入脚本名称运行脚本即可。
- 运行成功之后,脚本会自动完成模型的下载。
while ($true) {
# 检查模型是否已下载完成
$modelExists = ollama list | Select-String "deepseek-r1:32b"
if ($modelExists) {
Write-Host "模型已下载完成!"
break
}
# 启动ollama进程并记录
Write-Host "开始下载模型..."
$process = Start-Process -FilePath "ollama" -ArgumentList "run", "deepseek-r1:32b" -PassThru -NoNewWindow
# 等待60秒
Start-Sleep -Seconds 60
# 尝试终止进程
try {
Stop-Process -Id $process.Id -Force -ErrorAction Stop
Write-Host "已中断本次下载,准备重新尝试..."
}
catch {
Write-Host "进程已结束,无需中断。"
}
}
注意:
- 需要根据图片标记处,修改为自己需要下载的模型名称。