Ubuntu 的 Shell 脚本,提高 Ollama 下载模型速度

以下是针对 Ubuntu 系统修改的 Shell 脚本,实现自动重启 Ollama 下载过程以提高速度:

bash

#!/bin/bash

# 设置要下载的模型名称
MODEL="deepseek-r1:7b"

# 无限循环直到模型下载完成
while true; do
    # 检查模型是否已下载完成
    if ollama list | grep -q "$MODEL"; then
        echo "模型已下载完成"
        break
    fi

    echo "开始下载模型..."
    
    # 后台运行 Ollama pull 命令
    ollama run "$MODEL" &
    PROCESS_ID=$!
    
    # 等待60秒(可根据需要调整时间)
    sleep 60
    
    # 尝试终止进程
    if kill -9 "$PROCESS_ID" 2>/dev/null; then
        echo "已终止当前下载,准备重启..."
    else
        echo "终止进程时出错(可能进程已结束)"
    fi
    
    # 短暂等待确保资源释放
    sleep 5
done

使用说明:

  1. 将上述代码保存为 ollama_pull.sh
  2. 赋予执行权限:chmod +x ollama_pull.sh
  3. 修改脚本中的 MODEL 变量为你需要的模型名称
  4. 运行脚本:./ollama_pull.sh

脚本工作原理:

  • 每 60 秒自动重启一次 Ollama 下载进程
  • 利用 Ollama 的断点续传特性,通过反复重启来保持高速下载阶段
  • 检测模型是否下载完成,完成后自动退出循环

注意事项:

  • 可根据网络情况调整 sleep 60 中的时间值
  • 如果网络波动较大,建议增大等待时间
  • 脚本终止后,可随时重新运行,不会丢失已下载的数据

加入输入模型名称参数

下面是一个支持命令行参数输入模型名称的 Shell 脚本,它能够自动重启 Ollama 下载进程以提升下载速度:

bash

#!/bin/bash

# 检查是否提供了模型名称参数
if [ -z "$1" ]; then
    echo "请提供模型名称作为参数,例如:$0 llama2:7b"
    exit 1
fi

# 获取命令行参数作为模型名称
MODEL="$1"

echo "目标模型:$MODEL"

# 无限循环直到模型下载完成
while true; do
    # 检查模型是否已下载完成
    if ollama list | grep -q "$MODEL"; then
        echo "模型已下载完成"
        break
    fi

    echo "开始下载模型..."
    
    # 后台运行 Ollama pull 命令
    ollama run "$MODEL" &
    PROCESS_ID=$!
    
    # 等待60秒(可根据需要调整时间)
    sleep 60
    
    # 尝试终止进程
    if kill -9 "$PROCESS_ID" 2>/dev/null; then
        echo "已终止当前下载,准备重启..."
    else
        echo "终止进程时出错(可能进程已结束)"
    fi
    
    # 短暂等待确保资源释放
    sleep 5
done

使用说明:

  1. 把上面的代码保存成文件,命名为 ollama_pull.sh
  2. 给脚本添加执行权限,使用命令:chmod +x ollama_pull.sh
  3. 运行脚本时,在后面加上你想要下载的模型名称,例如:

bash

./ollama_pull.sh llama2:7b
./ollama_pull.sh mistral:7b

脚本功能说明:

  • 脚本会自动每 60 秒重启一次 Ollama 下载进程
  • 借助 Ollama 的断点续传功能,不断重启来维持较高的下载速度
  • 会自动检测模型是否下载完成,下载好后就会自动结束运行

参数自定义建议:

  • 你可以通过修改 sleep 60 中的数值来调整重启的时间间隔
  • 如果网络状况不稳定,可以适当增加等待时间
  • 要是想调整资源释放的等待时间,修改 sleep 5 这一行即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值