lyh教大前端
大模型部署指南
1. 环境验证
# 检查CUDA和PyTorch环境
nvcc --version
python -c "
import torch
print('CUDA Available:', torch.cuda.is_available())
print('CUDA Version:', torch.version.cuda)
print('GPU Count:', torch.cuda.device_count())
print('Current GPU:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')
"# 确认Python环境
which python
which pip
2. 安装uv包管理器(系统级)
# 安装uv(快速Python包管理器)- 使用中科大源
pip install uv -i https://pypi.mirrors.ustc.edu.cn/simple/# 如果中科大源失败,使用清华源
pip install uv -i https://pypi.tuna.tsinghua.edu.cn/simple/# 验证uv安装
uv --version
3.分环境部署策略
为什么需要分环境?
- 依赖冲突:vLLM和Open-WebUI可能有版本冲突的依赖
- 资源管理:分开环境便于单独管理和更新
- 稳定性:一个环境出问题不会影响另一个
步骤1:设置vLLM环境和服务
1.1 创建vLLM专用环境
# 创建并激活vLLM环境
uv venv .vllm_env
source .vllm_env/bin/activate
1.2 先安装ModelScope用于模型下载
# 先安装ModelScope(用于模型下载)- 中科大源
uv pip install modelscope -i https://pypi.mirrors.ustc.edu.cn/simple/# 如果中科大源失败,使用清华源
uv pip install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple/
1.3 下载模型
# 设置镜像源环境变量
export HF_ENDPOINT=https://hf-mirror.com# 使用ModelScope下载模型
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir ./autodl-tmp/deepseek-7B# 检查模型是否下载完成
ls -la ./autodl-tmp/deepseek-7B/
1.4 安装vLLM推理框架
# 模型下载完成后,再安装vLLM - 中科大源
uv pip install vllm -i https://pypi.mirrors.ustc.edu.cn/simple/# 如果中科大源失败,使用清华源
uv pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple/# 验证安装
python -c "import modelscope, vllm; print('所有包安装成功')"
1.5 启动vLLM服务
# 启动vLLM服务(在vLLM环境中运行,保持终端开启)
vllm serve /root/autodl-tmp/deepseek-7B \--enforce-eager \--max-model-len 16000 \--served-model-name deepseek-7b# 内存优化版本(如GPU内存不足)
vllm serve /root/autodl-tmp/deepseek-7B \--enforce-eager \--max-model-len 8000 \--gpu-memory-utilization 0.8 \--served-model-name deepseek-7b
步骤2:设置Open-WebUI环境和服务(新终端)
2.1 创建WebUI专用环境
# 在新终端中创建并激活WebUI环境
uv venv .webui_env
source .webui_env/bin/activate
2.2 安装Open-WebUI
# 在WebUI环境中安装Open-WebUI - 中科大源
uv pip install open-webui -i https://pypi.mirrors.ustc.edu.cn/simple/# 如果中科大源失败,使用清华源
uv pip install open-webui -i https://pypi.tuna.tsinghua.edu.cn/simple/
2.3 启动Open-WebUI服务
# 设置离线模式(避免Hugging Face依赖)
export HF_HUB_OFFLINE=1# 启动Open-WebUI服务
open-webui serve --port 6006# 端口映射
ssh -CNgL 6006:127.0.0.1:6006 root@connect.cqa1.seetacloud.com  -p 18052  (在本地电脑cmd运行)
4.服务验证
验证vLLM服务
# 测试vLLM服务是否正常
curl http://localhost:8000/v1/models# 测试API接口
curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{"model": "deepseek-7b","messages": [{"role": "user","content": "你好,请介绍一下你自己"}],"max_tokens": 100}'
验证Open-WebUI服务
# 在本地电脑创建SSH隧道
ssh -CNgL 6006:127.0.0.1:6006 root@connect.your-server.com -p your_port# 访问 http://localhost:6006
📝 环境管理命令
查看所有虚拟环境
# 列出所有uv创建的虚拟环境
ls -la | grep -E '\.(vllm_env|webui_env)'
环境切换
# 切换到vLLM环境
source .vllm_env/bin/activate# 切换到WebUI环境  
source .webui_env/bin/activate# 退出当前环境
deactivate
环境维护
# 更新vLLM环境中的包(分开更新)- 中科大源
source .vllm_env/bin/activate
uv pip install --upgrade modelscope -i https://pypi.mirrors.ustc.edu.cn/simple/
uv pip install --upgrade vllm -i https://pypi.mirrors.ustc.edu.cn/simple/# 如果中科大源失败,使用清华源更新
uv pip install --upgrade modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple/
uv pip install --upgrade vllm -i https://pypi.tuna.tsinghua.edu.cn/simple/# 更新WebUI环境中的包
source .webui_env/bin/activate  
uv pip install --upgrade open-webui -i https://pypi.mirrors.ustc.edu.cn/simple/# 删除环境(如需重新部署)
rm -rf .vllm_env
rm -rf .webui_env
⚙️ 服务参数说明
vLLM服务参数
- --enforce-eager: 禁用图优化,提高兼容性
- --max-model-len: 最大序列长度(根据GPU内存调整)
- --gpu-memory-utilization: GPU内存利用率(0.1-0.95)
- --served-model-name: API中的模型标识名称
内存配置建议
| GPU内存 | max-model-len | gpu-memory-utilization | 
|---|---|---|
| 8G | 4000 | 0.8 | 
| 16G | 8000 | 0.85 | 
| 24G+ | 16000 | 0.9 | 
🔄 镜像源使用策略
首选和备选源
- 首选源: https://pypi.mirrors.ustc.edu.cn/simple/(中科大)
- 备选源: https://pypi.tuna.tsinghua.edu.cn/simple/(清华)
镜像源切换技巧
# 快速切换镜像源的函数(可添加到 ~/.bashrc)
function uv_install() {local package=$1uv pip install $package -i https://pypi.mirrors.ustc.edu.cn/simple/ || \uv pip install $package -i https://pypi.tuna.tsinghua.edu.cn/simple/
}# 使用示例
uv_install modelscope
uv_install vllm
uv_install open-webui
🚨 故障排除
常见问题解决
1. 镜像源连接问题
# 测试镜像源连通性
curl -I https://pypi.mirrors.ustc.edu.cn/simple/
curl -I https://pypi.tuna.tsinghua.edu.cn/simple/# 如果两个源都失败,临时使用官方源
uv pip install modelscope --index-url https://pypi.org/simple/
2. 模型下载问题
# 如果ModelScope下载失败,使用huggingface-cli备用方案
pip install huggingface-hub
huggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local-dir ./autodl-tmp/deepseek-7B --local-dir-use-symlinks False
3. 端口冲突
# 检查端口占用
netstat -tulpn | grep -E ':(8000|6006)'# 杀死占用进程
kill -9 <PID>
4. 内存不足
# 降低序列长度和内存利用率
vllm serve /root/autodl-tmp/deepseek-7B \--enforce-eager \--max-model-len 4000 \--gpu-memory-utilization 0.7 \--served-model-name deepseek-7b
✅ 部署完成检查清单
- uv包管理器安装成功(中科大/清华源)
- vLLM环境创建并激活
- ModelScope安装成功(用于模型下载)
- 模型下载完成并验证
- vLLM安装成功
- vLLM服务正常启动(端口8000)
- WebUI环境创建并激活
- Open-WebUI安装成功
- Open-WebUI服务正常启动(端口6006)
- SSH隧道建立成功
- 网页界面可正常访问
按照这个更新后的部署指南,您将拥有更稳定的安装体验,当其中一个镜像源出现问题时,可以快速切换到备选源继续安装。
