
文章目录前言1. 环境2. 启动命令3、用 ccswitch 接进来4. 效果5、参数说明总结前言本文实战演示如何用两张 NVIDIA L20 通过 vLLM 部署 Qwen3.5-35B-A3B利用张量并行与 MoE 架构压满显存并接入 ccswitch 完成对话。涵盖启动命令、参数说明与客户端配置助你快速跑通全流程。本文介绍如何用两张 L20 把 Qwen3.5-35B-A3B 跑起来并集成到 ccswitch。1. 环境硬件两句话说完NVIDIA L20 × 2。引擎用的 vLLM没怎么纠结。两张卡刚好够--tensor-parallel-size 2不用再调。名字里的 A3B 按 Qwen 系 MoE 的命名习惯指的是激活参数那一档所以 35B 的体量压在两张 L20 上是跑得动的。客户端这边是 ccswitch。选它主要图省事——服务起好之后不用自己写脚本调 HTTP界面里填个地址就能开聊模型服务、MCP、API 这些也都在一个地方管。2. 启动命令source/gemini/data-3/miniconda3/bin/activate vllmLD_LIBRARY_PATH/gemini/data-3/miniconda3/envs/vllm/lib:$LD_LIBRARY_PATHCUDA_VISIBLE_DEVICES0,1vllm serve /gemini/data-3/open-source_model/Qwen/Qwen3.5-35B-A3B--host0.0.0.0--port8000--max-model-len65536--served-model-name Qwen3.5-35B-A3B --tensor-parallel-size2--enable-auto-tool-choice --tool-call-parser qwen3_coder前两行是环境。第一行激活 vLLM 这个 conda 环境第二行把该环境的 lib 目录塞进LD_LIBRARY_PATH让 vLLM 启动时能找到那几个 .so。这里有个小事得提一句。LD_LIBRARY_PATH...单独占一行的话它只是个普通变量赋值不会传给子进程后面那条vllm serve是读不到的。要么跟 serve 命令写进同一行要么前面加个export。我自己的做法是拼成一行。剩下那串参数参数作用CUDA_VISIBLE_DEVICES0,1只用 0、1 两张卡--host 0.0.0.0监听所有网卡别的机器能连过来只在本机用可以写 127.0.0.1--port 8000服务端口--max-model-len 65536上下文长度64K--tensor-parallel-size 2张量并行切成 2 份跟上面两张卡对得上--served-model-name Qwen3.5-35B-A3B对外暴露的模型名客户端填的是它不是权重目录--enable-auto-tool-choice打开工具调用--tool-call-parser qwen3_coder指定用 qwen3_coder 解析工具调用权重路径/gemini/data-3/open-source_model/Qwen/Qwen3.5-35B-A3B是实际落盘的位置跟--served-model-name是两回事别混。3、用 ccswitch 接进来服务起来之后就该接客户端了。左侧「模型服务」搜到 Qwen3.5_35B_A3B_wulele把开关打开。API 地址我填的是 vLLM 的地址加/v1密钥留空——本地起服务没设 key。填完点一下「获取模型列表」能拉到 Qwen3.5-35B-A3B说明服务那边是通的。话题页顶上会显示当前用的哪个模型、哪个服务对得上就没选错。4. 效果配好之后开聊即可。5、参数说明--tensor-parallel-size的数值要跟CUDA_VISIBLE_DEVICES里给的卡数对上写 2 就得有两张卡可用--served-model-name可以随便起但客户端里填的必须是它填权重目录名是连不上的ccswitch 那边配完点「获取模型列表」验一下。开关是绿的说明不了什么--max-model-len开多大直接影响显存能塞下多少 KV cache进而决定并发别一上来就拉满总结本文介绍了 vLLM 部署 Qwen并接入 ccswitch。若有疑问欢迎留言讨论。