# vLLM Patch: qwen3_next.py — Variable expert count per layer **File:** `vllm/model_executor/models/qwen3_next.py` **Class:** `Qwen3NextSparseMoeBlock.__init__` **Tested on:** vLLM 0.16.1rc1.dev188 ## What it does Reads `num_experts_per_layer` (a list) from the model config to support REAP-pruned models where each layer has a different number of experts. Falls back to `config.num_experts` for standard models. ## Patch In `Qwen3NextSparseMoeBlock.__init__`, find where `self.n_routed_experts` is set (after `self.ep_size = ...`), and replace the fixed assignment with: ```python # Support variable expert counts per layer (REAP pruned models) layer_idx = extract_layer_index(prefix) if hasattr(config, 'num_experts_per_layer') and config.num_experts_per_layer: num_experts = config.num_experts_per_layer[layer_idx] else: num_experts = config.num_experts self.n_routed_experts = num_experts ``` The `extract_layer_index` function is already imported from `.utils` in the stock file.