Windows 下本地部署 Qwen3-0.6B:WSL2 + vLLM + Open WebUI 全流程

一、WSL2 环境搭建(核心基础)

WSL2 是 Windows 运行 Linux 的兼容层,既能复用 Windows 文件系统,又能提供完整的 Linux 环境,是 Windows 部署大模型的最优解。

1 开启 WSL 功能

以管理员身份打开「Windows 终端」,执行以下命令开启 WSL 和虚拟机平台:

wsl --install

命令执行完成后,重启电脑(必须重启)。

2 安装 Ubuntu 发行版

打开 Microsoft Store,搜索「Ubuntu」,选择任意版本(推荐 22.04 LTS),点击「获取」安装。

安装完成后启动 Ubuntu,首次启动会自动配置,设置 Linux 用户名和密码(记好,后续 sudo 操作需要)。

3 切换 WSL 版本为 WSL2

打开 Windows 终端,执行命令确认 WSL 版本:

wsl --list --verbose

如果 Ubuntu 版本是 WSL1,执行以下命令切换为 WSL2:(具体看https://blog.csdn.net/partJava/article/details/158651323?fromshare=blogdetail&sharetype=blogdetail&sharerId=158651323&sharerefer=PC&sharesource=partJava&sharefrom=from_linkhttps://blog.csdn.net/partJava/article/details/158651323?fromshare=blogdetail&sharetype=blogdetail&sharerId=158651323&sharerefer=PC&sharesource=partJava&sharefrom=from_link教程)

wsl --set-version Ubuntu 2

wsl --set-default-version 2

最后这样进入虚拟机的。

可以时不时更新一下软件包:sudo apt update && sudo apt upgrade -y

二、Linux 环境配置(WSL2 内操作)

1 安装 Conda(环境管理工具)

  1. 下载 Miniconda(轻量版 Conda):

    复制代码
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  2. 执行安装脚本(一路回车,最后输入yes同意初始化):

    复制代码
    bash Miniconda3-latest-Linux-x86_64.sh
  3. 重启终端,验证 Conda 是否安装成功:

    复制代码
    conda --version

具体可以先配置环境变量

export PATH=/usr/local/cuda-12.9/bin:$PATH

libcuda.so

export LD_LIBRARY_PATH=/usr/lib/wsl/lib/:$LD_LIBRARY_PATH

创建目标文件夹:mkdir -p dev/toolchains/miniconda3

安装命令:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O dev/toolchains/miniconda3/miniconda.sh

进对应文件夹:cd dev/toolchains/miniconda3

./miniconda.sh -b -u -p ~/dev/toolchains/miniconda3

删除脚本:rm miniconda.sh

~/dev/toolchains/miniconda3/bin/conda init

进入主文件夹:cd ~/

激活环境:source ~/.bashrc

查看环境是否成功:

2 创建并激活 Python 环境

  1. 创建名为pytorch的环境(Python 3.10 兼容性最佳):

    复制代码
    conda create -n pytorch python=3.10 -y
  2. 激活环境(后续所有操作均在该环境下执行):

    复制代码
    conda activate pytorch

亲测4070的本用的这个3.11的:conda create -n pytorch python=3.11 -y

打开虚拟环境:conda activate pytorch

安装pytorch(可以后面再安装): pip3 install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

验证命令:python -c "import torch; print('PyTorch版本:', torch.version); print('GPU是否可用:', torch.cuda.is_available())"

3 验证 WSL2 GPU 可用性(关键)

注:GPU 验证放在虚拟环境配置后,能更精准确认环境与显卡的兼容性

  1. 在 Ubuntu 终端执行以下命令,安装 NVIDIA WSL 驱动依赖:

    复制代码
    sudo apt update && sudo apt install -y nvidia-driver-535
  2. 验证 GPU 是否识别(激活 pytorch 环境后执行):

    复制代码
    nvidia-smi

    若能看到显卡信息(包含 CUDA Version 等字段),说明 WSL2 显卡直通成功;若报错,需重新安装 NVIDIA WSL 驱动(确保下载的是「WSL 专用驱动」而非普通 Windows 驱动)。

或者这个nvcc -V 也可以看配置。

这也有完整的脚本,直接复制粘贴看版本:

bash 复制代码
# ========== 1. 系统基础信息 ==========
echo -e "\n===== 1. 系统版本 ====="
lsb_release -a
uname -r  # 内核版本

# ========== 2. WSL 信息 ==========
echo -e "\n===== 2. WSL 版本 ====="
wsl -l -v  # Windows 终端命令,若报错则在 PowerShell 执行

# ========== 3. NVIDIA 驱动/GPU 检查 ==========
echo -e "\n===== 3. NVIDIA 驱动 & GPU ====="
nvidia-smi  # 检查 GPU 驱动和可用 GPU
nvcc -V || echo "nvcc 命令未找到"  # 检查 CUDA 编译器

# ========== 4. CUDA 相关 ==========
echo -e "\n===== 4. CUDA 路径 & 版本 ====="
ls /usr/local/ | grep cuda  # 查看已安装的 CUDA 目录
echo "PATH 中的 CUDA 路径:"
echo $PATH | grep -o "/usr/local/cuda[^:]*"
echo "LD_LIBRARY_PATH 中的 CUDA 路径:"
echo $LD_LIBRARY_PATH | grep -o "/usr/local/cuda[^:]*"

# ========== 5. Conda 环境 ==========
echo -e "\n===== 5. Conda 环境列表 ====="
conda info --envs  # 查看所有 conda 环境
echo -e "\n当前激活的 conda 环境:$CONDA_DEFAULT_ENV"

# ========== 6. Python & 包 ==========
echo -e "\n===== 6. Python 版本 & PyTorch ====="
python --version
pip list | grep -E "torch|cuda"  # 查看 PyTorch 相关包
python -c "import torch; print('PyTorch 版本:', torch.__version__); print('CUDA 可用:', torch.cuda.is_available())" 2>/dev/null || echo "PyTorch 未安装/导入失败"

# ========== 7. 依赖库检查 ==========
echo -e "\n===== 7. 关键依赖库 ====="
ls -l /lib/x86_64-linux-gnu/ | grep libtinfo  # 查看 libtinfo5/6
dpkg -l | grep cuda  # 查看已安装的 CUDA 包
 

4 安装核心依赖包(新增关键步骤)补充说明:

  • transformers:HuggingFace 官方大模型核心库,vLLM/ModelScope 底层依赖,指定 4.57.3 版本避免兼容性问题;pip install transformers==4.57.3
  • sentence-transformers:文本向量化库,Open WebUI 若启用 RAG 功能会依赖,提前安装避免后续报错。
  • 安装指定版本的 huggingface-hub(核心依赖,清华源+强制重装保证版本纯净)这个非常重要,一定要安装好:

    pip install huggingface-hub==0.36.2 --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple

脚本检查:

python -c "

import torch

from transformers import AutoModel, AutoTokenizer

加载已下载的 all-MiniLM-L6-v2 模型

model_dir = '/home/liming/all-MiniLM-L6-v2'

tokenizer = AutoTokenizer.from_pretrained(model_dir)

model = AutoModel.from_pretrained(model_dir).to('cuda')

测试生成句向量

text = '测试:模型是否能正常运行在 GPU 上'

inputs = tokenizer(text, return_tensors='pt', padding=True, truncation=True).to('cuda')

with torch.no_grad():

outputs = model(**inputs)

输出验证结果

print('✅ 模型运行设备:', model.device)

print('✅ GPU 是否可用:', torch.cuda.is_available())

print('✅ 句向量形状:', outputs.last_hidden_state.shape)

"

✅ 模型运行设备: cuda:0

✅ GPU 是否可用: True

✅ 句向量形状: torch.Size([1, 18, 384])

复制代码
# 安装指定版本的 transformers(核心依赖)
pip install transformers==4.57.3

# 升级安装 sentence-transformers(文本向量化/嵌入依赖)
pip install -U sentence-transformers

4 安装 PyTorch 和 vLL

  1. 安装 PyTorch(这个上面安装了,ai方法不好,作用:适配 CUDA,无需手动装 CUDA,PyTorch 自带)

    复制代码
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
  2. 安装 vLLM(高性能大模型推理引擎):

    复制代码
    pip install vllm
  3. 验证 vLLM 安装成功:

    复制代码
    python -c "import vllm; print(vllm.__version__)"

测试代码:

python -c "

import torch

from vllm import LLM, SamplingParams

1. 验证 GPU 可用性(核心)

print('✅ GPU 是否可用:', torch.cuda.is_available())

print('✅ GPU 名称:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '无GPU')

2. 验证 vLLM 导入(确认安装成功)

print('✅ vLLM 导入成功')

3. 极简测试:加载小模型并推理(可选,验证核心功能)

try:

用 tiny 模型快速测试(下载量小)

llm = LLM(model='gpt2', tensor_parallel_size=1)

sampling_params = SamplingParams(max_tokens=10)

prompts = ['Hello, vLLM!']

outputs = llm.generate(prompts, sampling_params)

print('✅ vLLM 推理测试成功,输出:', outputs[0].outputs[0].text)

except Exception as e:

print('⚠️ 推理测试略过(模型下载可选),但 vLLM 核心安装已完成,错误:', str(e)[:100])

"

5 安装 ModelScope(模型下载工具)

复制代码
pip install modelscope

四、下载 Qwen3-0.6B 模型

利用 ModelScope 下载模型到 Windows 桌面(WSL2 可通过/mnt/c/访问 Windows 路径),方便跨系统管理。看好对应的文件夹位置。

1 执行下载命令

复制代码
# 下载模型到 Windows 桌面的 model 文件夹
modelscope download --model Qwen/Qwen3-0.6B --local_dir /mnt/c/Users/34970/Desktop/model/Qwen3-0.6B
  • 替换34970为你的 Windows 用户名;
  • 下载完成后,可在 Windows 桌面看到model/Qwen3-0.6B文件夹,内含模型权重和配置文件。

2 验证模型文件

在 WSL2 终端执行以下命令,确认模型文件存在:

复制代码
ls -l /mnt/c/Users/34970/Desktop/model/Qwen3-0.6B

能看到config.jsonmodel.safetensors等核心文件,说明下载成功。

很多模型可以这里面去找,我用的最简单的0.6B的

https://hf-mirror.comhttps://hf-mirror.com

大概差不多的意思。

python -c "

import torch

from transformers import AutoModel, AutoTokenizer

加载已下载的 all-MiniLM-L6-v2 模型

model_dir = '/home/liming/all-MiniLM-L6-v2'

tokenizer = AutoTokenizer.from_pretrained(model_dir)

model = AutoModel.from_pretrained(model_dir).to('cuda')

测试生成句向量

text = '测试:模型是否能正常运行在 GPU 上'

inputs = tokenizer(text, return_tensors='pt', padding=True, truncation=True).to('cuda')

with torch.no_grad():

outputs = model(**inputs)

输出验证结果

print('✅ 模型运行设备:', model.device)

print('✅ GPU 是否可用:', torch.cuda.is_available())

print('✅ 句向量形状:', outputs.last_hidden_state.shape)

"

✅ 模型运行设备: cuda:0

✅ GPU 是否可用: True

✅ 句向量形状: torch.Size([1, 18, 384])

五、启动 vLLM 高性能推理服务

vLLM 是核心后端,负责将模型转为可网络调用的 API 服务,相比原生 Transformers 显存利用率更高、推理速度更快。

1 执行启动命令

在 WSL2 终端(保持pytorch环境激活)执行:

复制代码
vllm serve /mnt/c/Users/34970/Desktop/model/Qwen3-0.6B \
    --served-model-name qwen3-0.6b \
    --host 0.0.0.0 \
    --port 8000 \
    --gpu-memory-utilization 0.5 \
    --max-model-len 8192 \
    --trust-remote-code

2 验证服务启动成功

等待终端输出以下关键日志,说明服务就绪:

复制代码
Starting vLLM API server 0 on http://0.0.0.0:8000
Application startup complete.
127.0.0.1:57482 - "GET /v1/models HTTP/1.1" 200 OK
  • 不要关闭该终端!vLLM 服务需持续运行,关闭则后端失效。
  • 日志中的404 Not Found(访问/favicon.ico)是正常现象,vLLM 无网页界面,仅提供 API。

六、部署 Open WebUI 可视化聊天界面

Open WebUI 是开源的大模型聊天界面,兼容 OpenAI API 格式,可无缝对接 vLLM 后端,实现网页聊天。

新建一个Ubuntu终端操作下面命令。

1 安装 Open WebUI

复制代码
pip install open-webui

2 设置环境变量(对接 vLLM 后端)

新开一个 WSL2 终端(Ctrl+Shift+T),激活pytorch环境后执行:

复制代码
conda activate pytorch

# 加速 HuggingFace 模型下载(可选)
export HF_ENDPOINT=https://hf-mirror.com
# 自定义 Open WebUI 端口(避免和 vLLM 的 8000 冲突)
export PORT=6006
# 网页标签名称
export WEBUI_NAME=晴川学院大模型平台
# 关键:指定 vLLM 后端 API 地址
export OPENAI_API_BASE_URL=http://localhost:8000/v1
# 随便填 API Key(格式正确即可,vLLM 未设置密钥)
export OPENAI_API_KEY=sk-1234567890abcdef

export HF_ENDPOINT=https://hf-mirror.com

访问端口,默认为 8080

export PORT=6006

允许管理员访问用户聊天记录,默认为 true,建议设置为 false

export ENABLE_ADMIN_CHAT_ACCESS=true

浏览器标签显示的名称

export WEBUI_NAME=小张的大模型平台

启用使用 BM25 + ChromaDB 的集成搜索,使用 sentence_transformers 模型进行重新排序

export ENABLE_RAG_HYBRID_SEARCH=False

默认角色,支持 admin/user/pending 三种,对应管理员,普通用户和待审核用户

export DEFAULT_USER_ROLE=user

export WEBUI_NAME=某某某大模型平台

3 启动 Open WebUI

简单启动本地的模型,说明好端口:

1. 确保在 pytorch 环境里

conda activate pytorch

2. 关键:告诉 Open WebUI 去连接 vLLM 后端 export OPENAI_API_BASE_URL=http://localhost:8000/v1

export OPENAI_API_KEY=sk-123456 # 随便填,格式对就行

3. 你的模型平台名称

export WEBUI_NAME=张飞的学习模型

4. 重新启动

open-webui serve --port 6006

复制代码
open-webui serve --port 6006

4 访问网页聊天界面

  1. 在 Windows 浏览器中输入:http://localhost:6006
  2. 首次访问需创建管理员账号(用户名 + 密码);
  3. 右边上面的那个加号添加模型。
  4. url输入http://127.0.0.1.8000/v1
  1. 登录后,在聊天界面选择模型qwen3-0.6b(和 vLLM 启动的模型名一致);
  2. 输入问题(如「你好,介绍一下自己」),即可和 Qwen3-0.6B 对话!

七、关键避坑指南

1 WSL2 路径映射问题

  • Windows 路径C:\Users\34970\Desktop在 WSL2 中对应/mnt/c/Users/34970/Desktop
  • 若访问 Windows 文件权限不足,执行:chmod -R 755 /mnt/c/Users/34970/Desktop/model

2 端口冲突问题

  • 若启动时提示Port 6006 is in use,将--port 6006改为6007/6008,浏览器访问时同步改端口;
  • vLLM 的 8000 端口和 Open WebUI 的 6006 端口需保证未被其他程序占用。

3 WSL2 性能提示

  • 日志中Using 'pin_memory=False' as WSL is detected仅为性能提醒,不影响功能;
  • 首次启动 vLLM 会执行torch.compile编译模型(约 20 秒),后续重启会复用缓存,速度更快。

八、总结

核心流程回顾

  1. WSL2 搭建:解决 Windows 与 Linux 工具的兼容性问题,实现基础环境支撑;
  2. 环境配置:通过 Conda 管理 Python 环境 → 验证 GPU 可用性 → 安装 PyTorch/vLLM/ModelScope;
  3. 模型下载:将 Qwen3-0.6B 下载到 Windows 桌面,WSL2 可直接访问;
  4. vLLM 启动:将模型转为高性能 API 服务(8000 端口);
  5. Open WebUI 部署:提供网页界面,对接 vLLM 后端实现可视化聊天。

核心价值

  • 本地化部署:数据不联网,隐私更安全;
  • 低成本:无需云服务器,普通 PC 即可运行;
  • 易用性:通过 Open WebUI 摆脱命令行,实现友好的网页交互;
  • 高性能:vLLM 优化显存利用,推理速度远超原生 Transformers。

至此,你已完成从「环境搭建」到「可视化聊天」的全流程,可自由扩展模型(如 Qwen3-1.7B)或自定义 Open WebUI 配置,打造专属的本地大模型平台。

相关推荐
youyoulg2 小时前
AI与大模型-机器学习
人工智能·机器学习
weiyvyy2 小时前
无人机嵌入式开发实战-姿态解算与稳定控制
人工智能·机器学习·机器人·无人机
薛定谔的猫-菜鸟程序员2 小时前
阿里CoPaw本地部署养虾实录:从“赛博宠物“到“电子遗产“的完整心路历程
人工智能
gaosushexiangji2 小时前
从SPS广州智能制造展看半导体封测“内卷”,高速相机如何成为工艺升级的关键工具
人工智能·制造
爱吃生蚝的于勒2 小时前
【Linux】网络基础(一)
linux·运维·服务器·网络·后端·算法·架构
ken22322 小时前
双硬盘、分别独立安装 linux & win 双系统。BIOS 设置问题导致无法启动: UEFI 与 Legacy
linux·运维·服务器
胖胖的小肥猫2 小时前
Attention Is All You Need 从零基础到完全理解
人工智能
zhangfeng11332 小时前
租界GPU平台 趋动云虚拟服务器中新建 Conda 环境 持久化 并基于 base 环境复刻(指定安装目录`)
服务器·chrome·conda
CSDN官方博客2 小时前
算力自由,即刻开启|CSDN 星图「算力推荐官」全民招募!
人工智能