ollama拉取到后面的时候特别慢,卡在几kb每秒,这个时候就需要操作一下了
参考资料:https://zhuanlan.zhihu.com/p/1999915699540349607
其实原理就是取消重新下载,因为支持断点续传,所以下一次下载还是从上次的进度开始,这样不断刷新速度
在使用Ollama进行模型拉取时,速度慢是一个常见的问题,尤其是在网络环境不佳或服务器繁忙的情况下。以下是解决方案:
已知
1.发现ollama pull的时候,前期传输速率较高,后期速度奇慢;
2.ollama支持断点续传;
其中一种解决方案,让powershell脚本自动pull一段时间后停止(来源于参考链接),经过修改后,亲测可运行;
注意:模型名字需要替换成自己想要的模型名字,以qwen3:30b为例
$ModelName = "qwen3:30b"
while ($true) {
# 检查模型是否存在
$modelExists = ollama list | Select-String $ModelName
if ($modelExists) {
Write-Host "模型已准备就绪"
break
}
Write-Host "开始下载..."
# 启动下载进程
$process = Start-Process -FilePath "ollama" -ArgumentList "pull", $ModelName -PassThru -NoNewWindow
# 监控进程状态
while ($true) {
if ($process.HasExited) {
Write-Host "进程被动结束,等待2秒后重连下载"
# 进程已结束,等待2秒
Start-Sleep -Seconds 2
break
} else {
# 进程还在运行,等待10秒
Start-Sleep -Seconds 10
}
}
}
保存为ollama_pull.ps1文件
在文件夹下打开powshell,直接运行
./ollama_pull.ps1
运行逻辑:
启动下载进程
进入监控循环,检查进程状态
如果进程还在运行,等待10秒后继续检查
如果进程已结束,等待2秒,然后退出监控循环
继续后续检查(模型是否存在等)
