WSL2 GPU 直连与 vLLM 大模型推理

发布时间:2026/7/26 6:40:54
WSL2 GPU 直连与 vLLM 大模型推理 title: “WSL2 GPU 直连与 vLLM 大模型推理”description: “在 Windows WSL2 中利用 GPU 直连通路部署 vLLM 高性能推理引擎。覆盖小白痛点引入、GPU 可用性验证、vLLM 安装配置、6大应用场景、Python 离线推理实战、OpenAI 兼容 API 服务、多 GPU Tensor 并行、量化加速、使用技巧与最佳实践。8GB 显存也能跑大模型。”keywords:WSL2 GPU 直连GPU PassthroughvLLM 推理LLM 本地推理vLLM OpenAI APIGPU 量化NVIDIA CUDA WSL大模型部署vLLM 应用场景vLLM 避坑本地 AI 助手vLLM 显存优化series: “Windows 下 AI 开发工具实战指南”series_order: 6date: “2026-07-21”prev: “05-docker-dev.md”摘要本文详细介绍了在 Windows WSL2 中通过 GPU 直连部署 vLLM 高性能大模型推理引擎的完整流程。从 GPU 可用性验证、vLLM 安装配置到 6 大实际应用场景本地 AI 编程助手、私有文档问答、批量文本生成等再到离线推理实战、OpenAI 兼容 API 服务部署、多 GPU 与量化加速技术最后提供了使用技巧、最佳实践和常见问题排查指南。无论你是想替代昂贵的云端 API、保护数据隐私还是让闲置显卡发挥价值本文都能帮你快速搭建本地高性能 AI 推理环境。系列第 6 篇 · 共 6 篇| ← 上一篇 | ← 返回目录这是本系列的终章——也是技术密度最高的一篇。WSL2 的一项杀手级特性就是GPU 直连GPU PassthroughLinux 子系统可以直接调用宿主机的 NVIDIA 显卡性能几乎无损。我们以 vLLM——当前业界最快的 LLM 推理引擎——来演示如何从零搭建本地 GPU 推理环境。参考文档vLLM 官方文档 · NVIDIA CUDA on WSL6.1 为什么你需要本地 GPU 推理如果你遇到过以下场景这篇文章就是为你写的痛点你可能说过的话API 费用越积越高“这个月 DeepSeek/OpenAI 账单又几百块只是日常写代码和问问题而已”敏感数据不敢上云“公司代码和文档不能传到第三方 API但本地 CPU 跑模型又太慢”网络不稳定导致体验差“关键时刻 API 超时或连不上眼睁睁看着 AI 助手卡死”想定制自己的模型“官方 API 只有通用模型我想跑微调后的专属模型或最新开源模型”买了显卡却只会打游戏“RTX 3060/4060 买了半年除了打游戏没派上过其他用场”本地 GPU 推理就是解决这些问题的钥匙。用通俗的话说调用云端 API 就像去网吧上网——按小时计费网速看别人脸色自己的资料还得传到别人的电脑上。本地 vLLM 部署就像在家装了一台专属服务器——一次配置长期可用数据完全留在本地网速就是 PCIe 总线速度而且你的显卡终于干活了。本地 vLLM vs 云端 API vs Ollama对比维度云端 API如 DeepSeekOllama本地 CPU/GPUvLLM本地 GPU使用成本按 token 计费高频使用费用高免费但性能受限免费一次性硬件投入数据隐私数据需上传到第三方服务器完全本地数据不出境完全本地数据不出境推理速度依赖网络和服务商负载CPU 慢GPU 较快但非最优业界最快吞吐量数倍于 Ollama模型选择服务商提供有限的模型支持主流模型社区丰富支持 200 架构HuggingFace 生态全兼容并发能力高服务商扩容低单机资源限制高Continuous Batching Tensor 并行硬件要求无低CPU 也能跑中高需 NVIDIA GPU推荐 8GB 显存部署难度极低注册即用低一条命令安装中等本文帮你搞定参考文档vLLM 官方文档 · NVIDIA CUDA on WSL6.2 WSL2 GPU 直连原理┌─────────────────────────────────────────┐ │ Windows 宿主机 │ │ ┌──────────────────────────────────┐ │ │ │ NVIDIA GPU 驱动 │ │ │ │ (WDDM 模式 计算卸载) │ │ │ └──────────────┬───────────────────┘ │ │ │ PCIe 直通 │ │ ┌──────────────▼───────────────────┐ │ │ │ WSL2 Linux 虚拟机 │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ NVIDIA CUDA / cuDNN │ │ │ │ │ │ PyTorch / TensorFlow │ │ │ │ │ │ vLLM / Ollama │ │ │ │ │ └──────────────────────────┘ │ │ │ └──────────────────────────────────┘ │ └─────────────────────────────────────────┘小白理解可以把 WSL2 的 GPU 直连想象成Windows 和 Linux 之间开了一条专属高速通道。你的 NVIDIA 显卡像一台共享打印机——Windows 装了驱动打印机本体WSL2 里的 Linux 程序可以通过/dev/dxg这条数据线直接发送计算任务给 GPU不需要复制数据来回复制性能损耗通常不到 5%。工作原理WSL2 通过/dev/dxg设备将 Windows 的 DirectX GPU 调用映射到 Linux 的 CUDA 接口Linux 内的 CUDA 程序直接编译执行在物理 GPU 上性能损耗极小通常 5%。参考文档NVIDIA CUDA on WSL 官方指南6.3 验证 GPU 可用性在 WSL2 终端中依次执行以下命令确认 GPU 已被识别# 1. 检查 NVIDIA 驱动nvidia-smi这步在做什么nvidia-smi是 NVIDIA 的系统管理接口用来查看 GPU 型号、驱动版本、CUDA 版本和显存使用情况。如果这条命令都没输出说明 Windows 侧驱动或 WSL2 GPU 支持有问题。新手提示正常输出应显示 GPU 型号、驱动版本、CUDA 版本和显存信息。如果提示command not found说明 Windows 侧 NVIDIA 驱动未正确安装 WSL 组件。如果不显示请在 Windows 侧安装 NVIDIA WSL2 驱动。# 2. 检查 CUDA 工具链nvcc--version这步在做什么nvcc是 NVIDIA 的 CUDA 编译器。很多 Python 包包括 vLLM在安装时需要编译 CUDA 扩展没有nvcc会导致编译失败。如果没有nvcc安装 CUDA Toolkitsudoaptupdate#更新apt索引sudoaptinstall-ynvidia-cuda-toolkit新手提示nvcc --version显示的 CUDA 版本和nvidia-smi显示的 CUDA 版本可能不同——这是正常的。nvidia-smi显示的是驱动支持的最高 CUDA 版本nvcc显示的是当前安装的 CUDA 工具链版本。# 3. 用 PyTorch 验证 GPUpython3-cimport torch; print(fCUDA Available: {torch.cuda.is_available()}); print(fDevice: {torch.cuda.get_device_name(0)})这步在做什么PyTorch 是 vLLM 的底层依赖。这条命令验证 PyTorch 能否正确识别和使用 GPU。如果输出CUDA Available: True并显示了你的显卡型号说明整个 GPU 链路已打通。若缺少相关库使用以下命令下载pipinstalltorch torchvision torchaudio-ihttps://pypi.tuna.tsinghua.edu.cn/simple三项全部通过说明 GPU 直连已就绪。新手提示如果第 3 步输出CUDA Available: False通常是 PyTorch 安装的 CUDA 版本与系统不匹配。建议创建干净的虚拟环境重新安装。参考文档NVIDIA CUDA on WSL · PyTorch CUDA 安装指南6.4 认识 vLLMvLLM 由加州大学伯克利分校 Sky Computing Lab 开发是当前业界最快的 LLM 推理引擎之一。小白理解想象你在餐厅当服务员。传统推理引擎像一次只接待一桌客人——来一桌做一桌其他桌干等着。vLLM 的 PagedAttention 技术像一个超级调度系统——同时处理多桌订单把厨房GPU利用率拉到最高还能让等位的人排队请求更快吃上饭。核心优势特性说明对你意味着什么PagedAttention高效管理 KV Cache 显存支持超长上下文而不 OOM同样的显存可以跑更长的对话不容易爆显存Continuous Batching动态合并请求GPU 利用率最大化多人同时调用时速度不会断崖式下降Prefix Caching共享前缀的请求自动复用 KV Cache重复问相似问题时响应速度快数倍量化支持FP8、INT8、INT4、GPTQ、AWQ、GGUF 等8GB 显存也能跑 7B 甚至 14B 模型Tensor 并行自动将模型拆分到多 GPU两张 12GB 显卡可以一起跑 24GB 级别的模型OpenAI 兼容 API一键部署兼容 OpenAI 接口的推理服务Claude Code、ChatBox、LangChain 都能直接对接200 模型架构支持 Llama、Qwen、DeepSeek、Mixtral、Gemma 等几乎所有主流开源模型都能直接加载硬件门槛NVIDIA GPU 计算能力 ≥ 7.0V100、T4、RTX 2060 及以上消费级推荐 RTX 3060 12GB 起步参考文档vLLM 架构概述 · PagedAttention 详解 · 支持模型列表6.5 安装 vLLM方式一pip 安装推荐# 下载虚拟环境aptupdateaptinstallpython3-full python3-venv-y# 创建虚拟环境python3-mvenv vllm_env# 激活环境sourcevllm_env/bin/activate这步在做什么虚拟环境把 vLLM 的依赖和系统 Python 隔离避免版本冲突。就像给 vLLM 单独准备了一个工作间不会弄脏其他项目。新手提示如果你之前用 conda 安装过 PyTorch建议新建一个干净的虚拟环境。conda 的 PyTorch 静态链接 NCCL 会和 vLLM 冲突。# 安装 vLLM自动检测 CUDA 版本pipinstallvllm-ihttps://pypi.tuna.tsinghua.edu.cn/simple这步在做什么pip 会从 PyPI 下载预编译的 vLLM wheel 包。vLLM 团队已经为常见 CUDA 版本预编译好了所以通常不需要本地编译。新手提示安装过程可能需要 5-15 分钟取决于网络速度。如果卡在Building wheel for xformers或flash-attn说明需要编译 CUDA 扩展——确保已安装build-essential和python3-dev。注意务必在pip中安装而非 conda——conda 中的 PyTorch 静态链接 NCCL 会导致冲突。指定 CUDA 版本按需# CUDA 12.8适用于 RTX 5090 / Blackwell 架构pipinstallvllm --extra-index-url https://download.pytorch.org/whl/cu128# CUDA 12.1pipinstallvllm --extra-index-url https://download.pytorch.org/whl/cu121安装常见问题问题原因解决方案pip install vllm编译卡住缺少编译工具或 GCC 版本过低sudo apt install -y build-essential python3-dev并确保 GCC ≥ 9CUDA out of memory安装时显存不足导致编译失败关闭其他占用显存的程序或添加--no-build-isolation参数xformers安装失败CUDA 版本与 PyTorch 不匹配先安装匹配 CUDA 版本的 PyTorch再装 vLLM安装后导入报错ImportError依赖冲突新建虚拟环境按官方顺序重新安装Python 版本不兼容vLLM 要求 Python 3.9~3.12python3 --version确认版本必要时用 pyenv 切换方式二Docker 安装隔离环境如果你已按照 第 5 篇 配置了 Docker可以直接拉取 NVIDIA 官方镜像# 拉取并运行 vLLM 容器GPU 直通dockerrun--gpusall-it--rm\-p8000:8000\-v~/.cache/huggingface:/root/.cache/huggingface\nvcr.io/nvidia/vllm:v0.8.0-py3这步在做什么Docker 方式完全隔离了环境适合不想折腾 Python 依赖的用户。-v参数把 HuggingFace 模型缓存目录映射进容器避免每次都要重新下载模型。参考文档vLLM 安装指南 · Docker 部署指南6.6 应用场景vLLM 不是只给算法工程师用的高端玩具。以下是 6 个你日常就能用上的场景场景 1本地 AI 编程助手替代昂贵 API痛点Claude Code / Cursor 等工具按 token 计费复杂任务一个月轻松上百美元。怎么做用 vLLM 本地部署 Qwen3-1.7B 或 DeepSeek-Coder-6.7B在 Claude Code 中指向本地服务。# 启动本地推理服务python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen3-0.6B\--gpu-memory-utilization0.85\--port8000# 在 Claude Code 中指向本地服务exportANTHROPIC_BASE_URLhttp://localhost:8000/v1对话示例你帮我写一个 Python 函数读取 CSV 并计算每列的统计信息 Claude Code调用本地 vLLM 服务 import pandas as pd def csv_stats(filepath): df pd.read_csv(filepath) return df.describe() 无需联网无需 API 费用场景 2私有文档问答敏感数据不出本地痛点公司财报、合同、内部文档不能传到第三方 AI 服务。怎么做本地部署 vLLM RAG 框架如 AnythingLLM、Dify所有数据留在本地硬盘。# 部署 Qwen3-14B 本地服务python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen3-14B-Instruct\--tensor-parallel-size2\--gpu-memory-utilization0.90对话示例你这份合同里关于违约责任的条款有哪些 本地 AI基于本地部署的 Qwen3-14B 私有知识库 根据合同第三章第 5-8 条违约责任包括 1. 逾期付款按日千分之三支付滞纳金 2. 提前终止需提前 30 日书面通知 3. ... 数据从未离开你的电脑场景 3批量文本生成内容创作者痛点需要生成大量文案、标题、摘要API 调用成本高且受速率限制。怎么做用 vLLM 的离线推理批量处理。fromvllmimportLLM,SamplingParams llmLLM(modelQwen/Qwen3-1.7B-Instruct)sampling_paramsSamplingParams(temperature0.8,max_tokens200)titles[给一篇关于 Python 异步编程的技术博客起 5 个吸引人的标题,给一篇关于 Kubernetes 入门的文章写一段 100 字的摘要,# ... 更多 prompt]outputsllm.generate(titles,sampling_params)场景 4多模型对比测试开发者选型痛点不确定哪个模型适合自己的业务场景需要快速 A/B 测试。怎么做同时启动多个 vLLM 服务分别加载不同模型用同一组测试用例对比。# 终端 1启动 Qwen3-7Bpython-mvllm.entrypoints.openai.api_server--modelQwen/Qwen3-7B-Instruct--port8001# 终端 2启动 Llama-3-8Bpython-mvllm.entrypoints.openai.api_server--modelNousResearch/Meta-Llama-3-8B-Instruct--port8002# 用同一组请求测试两个模型场景 5离线环境模型推理无网络环境痛点实验室、工控环境、某些企业内网无法访问外部 API。怎么做提前下载好模型权重vLLM 可以在完全离线的环境中运行。# 提前下载模型有网络时执行huggingface-cli download Qwen/Qwen3-1.7B-Instruct --local-dir ./models/qwen3-1.7b# 离线时直接加载本地路径python-mvllm.entrypoints.openai.api_server--model./models/qwen3-1.7b场景 6团队内部 API 服务共享痛点团队里每个人都自己调 API成本高且密钥管理混乱。怎么做在一台配有 GPU 的服务器上部署 vLLM团队成员通过内网 IP 访问统一服务。# 绑定到局域网 IP团队共享python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen3-14B-Instruct\--host0.0.0.0\--port8000新手快速上手路径步骤做什么预计耗时验证方式1确认 GPU 可用nvidia-smi2 分钟看到显卡型号和显存2创建虚拟环境并安装 vLLM10-20 分钟python -c import vllm; print(vllm.__version__)3下载一个小模型如 Qwen3-0.6B5-10 分钟ls ~/.cache/huggingface/看到模型文件4运行离线推理示例3 分钟看到模型生成的文本5启动 OpenAI 兼容 API2 分钟curl localhost:8000/v1/models返回模型信息6对接 Claude Code 或其他工具5 分钟Claude Code 能正常对话参考文档vLLM OpenAI 兼容服务 · vLLM 离线推理6.7 离线推理实战以下示例在 WSL2 中全程可跑演示加载模型并生成文本fromvllmimportLLM,SamplingParams# 初始化模型自动加载到 GPUllmLLM(modelQwen/Qwen3-1.7B-Instruct,# 小模型适合入门测试gpu_memory_utilization0.70,# 使用 70% 显存trust_remote_codeTrue,max_model_len4096,# 上下文长度)# 配置采样参数sampling_paramsSamplingParams(temperature0.7,top_p0.9,top_k50,max_tokens256,)# 批量推理prompts[用通俗的语言解释什么是大语言模型,用 Python 写一个快速排序算法。,]outputsllm.generate(prompts,sampling_params)forprompt,outputinzip(prompts,outputs):print(f[输入]{prompt})print(f[输出]{output.outputs[0].text})print(-*50)将以上代码保存为inference_demo.py在虚拟环境中运行python inference_demo.py新手提示第一次运行会自动从 HuggingFace 下载模型约 3-4GB可能需要 5-15 分钟。如果下载慢可以配置国内镜像如 modelscope或使用HF_ENDPOINT环境变量。参考文档vLLM 快速入门 · SamplingParams API6.8 部署 OpenAI 兼容 API 服务vLLM 可以一键启动兼容 OpenAI API 格式的 HTTP 推理服务方便与 Claude Code、ChatBox、LangChain 等工具对接python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen3-1.7B-Instruct\--gpu-memory-utilization0.85\--max-model-len8192\--port8000这步在做什么这条命令启动了一个 HTTP 服务器加载指定模型到 GPU并暴露和 OpenAI 完全兼容的 REST API。任何支持 OpenAI API 格式的工具都可以直接连接。新手提示--gpu-memory-utilization默认是 0.990%。如果你的显存紧张或同时需要运行其他程序可以降低到 0.7 或 0.5。启动后服务在 WSL2 的localhost:8000监听。由于 WSL2 的 localhost 端口自动转发见 第 2 篇 §2.4在 Windows 中即可直接访问。测试 API——另开一个终端执行curlhttp://localhost:8000/v1/chat/completions\-HContent-Type: application/json\-d{ model: Qwen/Qwen3-1.7B-Instruct, messages: [{role: user, content: 你好介绍一下你自己}], max_tokens: 256 }返回的 JSON 结构与 OpenAI API 完全一致这意味着任何兼容 OpenAI SDK 的上层应用都可以直接调用本地 vLLM 服务。对接 Claude Code在 Claude Code 的环境变量中指向本地 vLLM 服务在 DeepSeek API 不可用时作为备选exportANTHROPIC_BASE_URLhttp://localhost:8000/v1参考文档vLLM OpenAI 兼容服务 · Claude Code 官方文档6.9 多 GPU 与量化加速Tensor 并行多 GPU如果你有多张 GPU例如双 RTX 3090开启 Tensor 并行将模型拆分到两张卡上python-mvllm.entrypoints.openai.api_server\--modelQwen/Qwen3-14B-Instruct\--tensor-parallel-size2\--gpu-memory-utilization0.90这步在做什么Tensor 并行把模型的不同层放到不同 GPU 上就像两个人合伙搬重物——一个人搬前半截一个人搬后半截。两张 12GB 显卡合作可以跑起 24GB 级别的模型。量化——用小显存跑大模型通过 INT4 量化8GB 显存的消费级显卡也能跑 7B 级别模型# 使用 GPTQ 量化模型python-mvllm.entrypoints.openai.api_server\--modelTheBloke/Llama-2-7B-GPTQ\--quantizationgptq\--gpu-memory-utilization0.90小白理解量化就像把高清视频压缩成标清——模型参数从 32 位浮点数变成 4 位整数精度有微小损失但模型体积和显存占用都大幅缩减。对于文本生成任务INT4 量化的质量损失通常肉眼难以察觉。GGUF 格式直接加载python-mvllm.entrypoints.openai.api_server\--modelunsloth/Qwen3-0.6B-GGUF:Q4_K_M\--gpu-memory-utilization0.80参考文档vLLM 量化支持 · Tensor 并行指南 · GGUF 支持6.10 使用技巧与最佳实践用户痛点速查表痛点典型表现影响程度快速解决显存不足CUDA out of memory报错高降低--gpu-memory-utilization启用量化缩短--max-model-len模型下载慢卡在Downloading不动中配置 ModelScope 镜像或使用hf-mirror安装编译失败Building wheel卡住后报错高确保 GCC ≥ 9安装build-essential使用预编译 wheel推理速度慢生成一个句子要等很久中启用 Prefix Caching调整--max-num-seqs使用 AWQ/GPTQ 量化多用户并发卡顿同时调用时延迟飙升中开启 Continuous Batching默认已开启增加--max-num-seqsWSL2 重启后 GPU 丢失nvidia-smi无输出高wsl --shutdown后重新进入 WSL2模型加载后占满显存其他程序无法使用 GPU低降低--gpu-memory-utilization到 0.6-0.7显存管理技巧vLLM 的显存管理是新手最容易踩坑的地方。以下是几条黄金法则给系统留余量不要把--gpu-memory-utilization设到 0.95 以上。建议 0.75~0.85给系统和桌面程序留一些显存。上下文长度直接影响显存--max-model-len从 8192 降到 4096显存占用可能减少 30% 以上。量化是显存不足的第一选择INT4 量化可以把 7B 模型的显存需求从 14GB 降到 4-5GB。CPU 卸载兜底如果显存实在不够可以用--cpu-offload-gb 8把部分层放到内存速度会变慢但能跑起来。模型下载加速默认从 HuggingFace 下载在国内可能较慢。两种解决方案方案 A使用 HuggingFace 镜像# 设置环境变量让 transformers 从镜像站下载exportHF_ENDPOINThttps://hf-mirror.com方案 B手动下载后指定本地路径# 用 huggingface-cli 或 git 下载到本地huggingface-cli download Qwen/Qwen3-1.7B-Instruct --local-dir ./models/qwen3-1.7b# vLLM 直接加载本地路径python-mvllm.entrypoints.openai.api_server--model./models/qwen3-1.7b性能调优 checklist使用量化模型GPTQ/AWQ减少显存占用调整--gpu-memory-utilization平衡显存使用设置合理的--max-model-len不要无脑设 128K高并发场景调大--max-num-seqs默认 256确保模型支持并启用了 FlashAttentionvLLM 会自动检测多 GPU 时开启--tensor-parallel-size常见报错速查表报错信息根因快速修复CUDA out of memory显存不足--gpu-memory-utilization 0.60--max-model-len 2048CUDA error: invalid device ordinal指定的 GPU 不存在nvidia-smi确认 GPU 编号或使用--gpu-memory-utilization自动选择RuntimeError: CUDA errorCUDA 版本不匹配确认 PyTorch CUDA 版本与系统一致python -c import torch; print(torch.version.cuda)ModuleNotFoundError: No module named vllm未激活虚拟环境或安装失败source vllm_env/bin/activate后重新安装Connection refused调用 API服务未启动或端口错误curl localhost:8000/v1/models确认服务状态The model does not have a chat template模型缺少对话模板添加--chat-template参数指定模板路径GGUF model failed to loadGGUF 格式不兼容确认 vLLM 版本 ≥ 0.6.0或使用推荐的 GGUF 量化格式nccl initialization failed多卡通信失败确保所有 GPU 在同一 PCIe 总线或检查 NCCL 环境变量通用排查命令# 查看 GPU 状态和显存占用nvidia-smi# 查看 vLLM 版本python-cimport vllm; print(vllm.__version__)# 查看 PyTorch CUDA 版本python-cimport torch; print(torch.version.cuda)# 测试 API 服务是否存活curlhttp://localhost:8000/v1/models# 查看 vLLM 环境信息用于提 issuepython-mvllm.entrypoints.cli.collect_env# 查看 vLLM 日志中的性能指标# 启动时添加 --log-level DEBUG参考文档vLLM 性能调优 · vLLM FAQ6.11 常见问题nvidia-smi 无输出或报错# 确认 Windows 侧已安装 WSL2 专用 NVIDIA 驱动# 下载地址https://developer.nvidia.com/cuda/wsl# 确认使用 WSL2非 WSL1wsl--list--verbose# 如果版本是 1升级wsl --set-version Ubuntu2新手提示Windows 的 NVIDIA 游戏驱动和 WSL2 计算驱动是两个组件。即使你在 Windows 上能玩游戏也可能需要单独安装 WSL2 的 CUDA 驱动。CUDA Out of Memory# 降低显存使用比例--gpu-memory-utilization0.50# 缩短上下文长度--max-model-len2048# 启用 CPU 卸载部分层放到内存--cpu-offload-gb8pip install vllm 报错# 确保 Python 版本在 3.9 ~ 3.12 之间python3--version# 确保 GCC 版本 ≥ 9gcc--version# 安装编译依赖sudoaptinstall-ybuild-essential python3-devWSL2 重启后 GPU 不可用# 重启 WSL 即可恢复wsl--shutdownwsl模型下载失败或超时# 配置 HuggingFace 镜像国内用户exportHF_ENDPOINThttps://hf-mirror.com# 或使用 ModelScope 下载pipinstallmodelscope modelscope download--modelqwen/Qwen3-1.7B-Instruct--local_dir./modelsAPI 返回结果异常# 确认模型加载成功curlhttp://localhost:8000/v1/models# 检查显存是否足够nvidia-smi# 查看 vLLM 服务日志# 启动时添加 --log-level DEBUG 获取详细日志系列完恭喜 你已经在 Windows 上构建了一套从底层到上层、从环境到应用的完整 AI 开发工具链✅WSL2——Windows 上的原生 Linux 环境✅Claude Code DeepSeek——终端 AI 编程助手✅Hermes Agent——自我进化的 AI 智能体✅Docker——容器化 AI 开发与编排✅vLLM GPU 推理——本地大模型高性能部署希望这个系列能帮助你提升开发效率享受 AI 工具带来的便利。返回目录Windows 下 AI 开发工具实战指南本文基于实际安装过程编写如有更新请以各工具官方文档为准。如果对你有帮助欢迎分享给更多的开发者