Ubuntu 单机多卡部署脚本: vLLM + DeepSeek 70B

部署脚本:Ubuntu + vLLM + DeepSeek 70B

执行前请确保:1. 系统为 Ubuntu 20.04/22.04 2. 拥有NVIDIA显卡(显存≥24G)

保存两个文件 1 init.sh 初始化 2、test.sh 测试

init.sh

复制代码
#!/bin/bash
# 系统更新与基础依赖

sudo apt update && sudo apt upgrade -y

sudo apt install -y build-essential python3-pip curl git wget

# NVIDIA驱动安装(需重启)

#sudo add-apt-repository ppa:graphics-drivers/ppa -y

#sudo apt update

#sudo apt install -y nvidia-driver-550-server

echo "请手动重启系统后再次执行本脚本!"

echo "sudo reboot "
exit 0  # 首次执行到此退出 

---- 以下为重启后执行的第二部分 ----

#test.sh

复制代码
#!/bin/bash
set -e
set -o pipefail

# 模型下载示例(替换为实际模型ID)
MODEL_ID="deepseek-ai/DeepSeek-R1-Distill-Llama-70B"
python - <<EOF
from modelscope import snapshot_download
snapshot_download('$MODEL_ID', cache_dir='./models')
EOF

# 启动服务
vllm serve  ./models/$MODEL_ID  --tensor-parallel-size 8 --gpu-memory-utilization 0.95 --port 6006  --max-model-len 8192 &
SERVER_PID=$!
echo "Serve PID $SERVER_PID"
# 检查 PID 和端口的函数
check_status() {
    # 检查 PID 是否存在
    if [[ -z "$SERVER_PID" ]]; then
        echo "错误:SERVER_PID未定义"
        exit 1
    fi

    if ! kill -0 $SERVER_PID > /dev/null 2>&1; then
        echo "程序异常退出"
        exit 1
    fi
   sleep 3
    # 检查端口 6006 是否在使用(注意脚本中使用的是6006,而非8000)
    if ss -tuln | grep -q ':6006 '; then
        echo "服务已就绪"
        curl -i -k -X POST "http://localhost:6006/v1/chat/completions"  -H "Content-Type: application/json"  --data '{ "model": "/pde_ai/ssd_models/llm/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", "Max_tokens": 1024, "Temperature": 0, "messages": [ { "role": "user", "content": "中国的首都在哪里?" } ] }'

        echo "退出服务 kill  $SERVER_PID"
        sleep 3
        kill  $SERVER_PID

        return 0
    else
        echo "服务未就绪"
        return 1
    fi
}

# 等服务成功后测试一下
while true; do
    if check_status; then
        sleep 1
    else
        echo "程序异常退出"
        exit 1
    fi
done

保存完后

chmod +x *.sh 设置为可执行

第一次也只要一次运行 init.sh 后重启服务器

后面测试 只要 test.sh ,test.sh 第一次需要下载模型会慢一些.

相关推荐
武子康18 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天19 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
Elasticsearch2 天前
如何使用 Agent Builder 排查 Kubernetes Pod 重启和 OOMKilled 事件
elasticsearch
Elasticsearch3 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法