ollama下载很慢,如何换源,如何加速下载?
暂时没找到换源的方法,如果你们找到了可以评论区写一下。
![](https://i-blog.csdnimg.cn/direct/de0d65ee69544f9c9df53ee04d125e5c.png)
原理
在使用ollama的过程中我发现了一件神奇的事情,假如你运行了
ollama pull deepseek-r1:7b 或者
ollama run deepseek-r1:7b
它的下载速度会短"冲一下”,例如我在正常的国内网络,他会一开始在3MB/s,保持几十秒之后会回落成800KB/s,所以我们可以一直Ctrl+C,然后按"↑”再回车重复执行下载命令,它会断点继续下载。
so理论在此,就可以做一个脚本,让他自动执行。没想到网上已经有相关的高手了,参考。
实现
↓CMD,替换"ollama pull deepseek-r1:7b”为你的命令,保存直接双击即可
@echo off
echo Starting Ollama auto-restart script...
:loop
start /B ollama pull deepseek-r1:7b ::这里切换你自己的下载语句,此处是pull deepseek-r1:7b
timeout /t 60 /nobreak
for /f "tokens=2 delims=," %%a in ('tasklist /FI "IMAGENAME eq ollama.exe" /FO CSV /NH') do set CMD_PID=%%a
if defined CMD_PID (
echo Stopping Ollama process %CMD_PID%
taskkill /PID %CMD_PID% /F
)
goto loop
↓Powershell,替换"pull deepseek-r1:7b”为你的命令,保存右键运行
while ($true) {
$process = Start-Process -NoNewWindow -PassThru -FilePath "ollama" -ArgumentList "pull deepseek-r1:7b"
Write-Host "Started Ollama with PID: $($process.Id)"
Start-Sleep -Seconds 60
if (-Not $process.HasExited) {
Write-Host "Stopping Ollama process..."
Stop-Process -Id $process.Id -Force
}
}
↓macOS和Linux(第五行替换"ollama pull deepseek-r1:7b”为你的命令,赋权双击执行或命令行调用运行)
#!/bin/bash
echo "Starting Ollama auto-restart script..."
while true; do
timeout 60 ollama run deepseek-r1:7b &
CMD_PID=$!
echo "Started Ollama with PID: $CMD_PID"
sleep 60
if ps -p $CMD_PID > /dev/null; then
echo "Stopping Ollama process..."
kill -9 $CMD_PID
wait $CMD_PID 2>/dev/null
fi
done
使用步骤
给脚本赋予执行权限(只需执行一次)
chmod +x restart_ollama.sh
双击 restart_ollama.sh运行 或者 在终端运行:
./restart_ollama.sh
疑问?使用代理是否能加速
前面在Ctrl+C的时候有时候是能冲到17MB/s的,
但是后面几次尝试又变得和常规国内网络环境一样,很怪,有想法的朋友可以在AI的帮助下试试,
例如我想安装的是deepseek-r1:7b这个版本,你先运行某C字打头的猫猫软件,需要开启ALLOW LAN和System Proxy。
需要在命令行里输入
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
嵌入循环执行的命令的话各位可以让deepseek帮忙,此处就不多说了。