前言

开源大模型本地部署需求激增,Windows借助WSL2可衔接Linux AI工具链,兼顾图形化操作优势。本文针对16GB显存(如5070 Ti)用户,提供WSL2搭建、GPU适配、Docker配置、Qwen2.5-14B模型下载及WebUI部署的完整实操指南,以“极简省心”为原则优先推荐Docker Desktop,规避手动配置难点,助力用户快速打通部署全链路,实现开源大模型本地高效运行。


正文

一、开启 WSL 2 子系统

  1. 启用功能: 按下 Win + X,选择 Windows PowerShell (管理员),输入以下命令并回车:
wsl --install
  1. 重启电脑: 重启后,Windows 会自动弹出一个终端窗口,开始安装 Ubuntu(默认版本通常是 22.04 或 24.04)。
  2. 设置账户: 按照提示输入你的 Linux 用户名和密码(密码输入时不会显示,输完回车即可)。

二、配置 AI 计算环境 (NVIDIA 驱动与 Toolkit)

  1. 在 Windows 上: 确保你安装了最新的 NVIDIA Game Ready 或 Studio 驱动。

  2. 在 WSL (Ubuntu) 里: 我们需要安装 nvidia-container-toolkit,这是为了让 Docker 容器能看见你的显卡。 打开你的 Ubuntu 终端,依次执行:

# 1. 配置 NVIDIA 软件源
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 2. 更新源并安装工具包
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# 3. 配置 Docker 运行时(会自动修改 /etc/docker/daemon.json)
sudo nvidia-ctk runtime configure --runtime=docker: 确保你安装了最新的 NVIDIA Game Ready 或 Studio 驱动。  2.在 WSL (Ubuntu) 里: 我们需要安装 nvidia-container-toolkit,这是为了让 Docker 容器能看见你的显卡。 打开你的 Ubuntu 终端,依次执行:

如果网络不可用就用另一种方法

另一种方法:使用 Docker Desktop for Windows(最推荐,最省心)

这是在 Windows 上使用 Docker 最标准的做法。你不需要在 WSL 内部手动安装 nvidia-container-toolkit,Docker Desktop 会在 Windows 层面帮你处理好驱动映射。

操作步骤:

1. 回到 Windows 桌面: 去 Docker 官网下载并安装 Docker Desktop for Windows。
2. 配置 WSL 集成:

	- 安装完成后打开 Docker Desktop 设置(齿轮图标)。 
	- 进入 Resources -> WSL Integration。
	- 勾选你当前正在用的这个 Linux 发行版(通常是 Ubuntu 或 Ubuntu-22.04)。 
	- 点击 "Apply &Restart"。

3. 验证 GPU: 回到你的那个 Linux 黑框框(WSL 终端),直接运行:

# 测试能否调用宿主机显卡
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

可能会遇到的问题

遇到Docker 权限报错 (permission denied): docker: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock 该怎么办?

# 1. 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 2. 刷新用户组(或者你可以关闭终端重新打开)
newgrp docker

# 3. 测试是否修复
docker ps

遇到 Docker Desktop 无法连接到 Docker Hub 官方仓库下载镜像报错怎么办?
dialing registry-1.docker.io:443 container via direct connection because Docker Desktop has no HTTPS proxy: connecting to registry-1.docker.io:443: dial tcp 199.59.149.205:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
配置镜像加速源,如果你没有代理工具,需要配置国内的 Docker 镜像加速源。但请注意,最近很多大学和阿里的公开源都不太稳定。

  1. 打开 Docker Desktop 设置。

  2. 点击左侧 Docker Engine。

  3. 在右侧的 JSON 编辑框中,添加 registry-mirrors 字段。修改后的样子大概如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://huecker.io"
  ]
}
  1. 点击 Apply & restart。
  2. 验证:
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

三、极速下载模型 (ModelScope)

基于16GB 显存,我们选择目前最强的开源组合:Qwen2.5-14B (量化版)。

1. 安装 venv 工具

# 1. 回到 Linux 用户主目录
cd ~

# 2. 确保 venv 模块已安装
sudo apt update
sudo apt install python3-venv -y

3.激活环境 (关键步骤)

# 1. 创建名为 ai_env 的虚拟环境
python3 -m venv ai_env

# 2. 激活环境 (注意前面有个 source)
source ai_env/bin/activate

4.安装 ModelScope 并运行下载脚本

# 1. 安装下载工具
pip install modelscope

# 2. 创建下载脚本 
nano download_qwen.py

把下面的代码粘贴进去,模型下载位置自行修改,下面的路径是D盘

from modelscope import snapshot_download

# 模型名称:Qwen2.5-14B-Instruct-GPTQ-Int4 (显存占用约 9-10GB,完美适配 5070 Ti)
model_name = 'Qwen/Qwen2.5-14B-Instruct-GPTQ-Int4'

# 下载路径:直接存到 Windows 的 D 盘 AI_Models 文件夹
save_dir = '/mnt/d/AI_Models' 

print(f"开始下载 {model_name} 到 {save_dir} ...")
path = snapshot_download(model_name, cache_dir=save_dir)
print(f"下载完成!模型路径: {path}")

回到WSL:

# 这一步是为了确保脚本存在
cat > download_model.py <<EOF
from modelscope import snapshot_download
print("开始下载 Qwen2.5-14B-Instruct-GPTQ-Int4...")
model_dir = snapshot_download(
    'Qwen/Qwen2.5-14B-Instruct-GPTQ-Int4', 
    cache_dir='/mnt/d/AI_Models'
)
print(f"下载完成!路径: {model_dir}")
EOF

# 3. 运行下载
python download_model.py

查看模型路径

python3 -c "from modelscope import snapshot_download; print(snapshot_download('Qwen/Qwen2.5-14B-Instruct-GPTQ-Int4', cache_dir='/mnt/d/AI_Models'))"

四、部署LLM模型

1. 加载模型


docker run -d \
    --name vllm-chat \
    --runtime nvidia \
    --gpus all \
    -v /mnt/d/AI_Models/Qwen/Qwen2.5-14B-Instruct-GPTQ-Int4:/model \
    -p 8005:8000 \
    --ipc=host \
    vllm/vllm-openai:latest \
    --model /model \
    --served-model-name qwen-chat \
    --quantization gptq_marlin \
    --dtype float16 \
    --max-model-len 8192 \
    --enforce-eager \
    --api-key gjskjg

2. 启动前端 WebUI

docker run -d \
    --name open-webui \
    -p 3000:8080 \
    --add-host=host.docker.internal:host-gateway \
    -e OPENAI_API_BASE_URL=http://host.docker.internal:8005/v1 \
    -e OPENAI_API_KEY=gjskjg \
    -v open-webui-data:/app/backend/data \
    --restart always \
    ghcr.io/open-webui/open-webui:main

3.登录浏览器

访问: http://localhost:3000

冷启动需要等待一些时间


总结

本文提供了Windows环境下基于WSL2和Docker的Qwen2.5-14B模型本地化部署方案,涵盖WSL2环境搭建、GPU与Docker适配、模型下载及WebUI部署四大核心环节。方案针对Docker权限、镜像下载等常见问题给出解决方案,降低了部署门槛。完成部署后,用户可通过本地浏览器与模型交互,满足开发测试、学习研究等需求。若适配其他模型或优化性能,可基于此环境框架调整相关配置。

写在最后

有帮助的话请点个赞和收藏,为博主更新更多优质内容提供更多的动力!

更多推荐