| 1 | # SPDX-License-Identifier: Apache-2.0 |
| 2 | # SPDX-FileCopyrightText: Copyright contributors to the vLLM project |
| 3 | |
| 4 | import torch.nn as nn |
| 5 | |
| 6 | from vllm.v1.worker.gpu.spec_decode.autoregressive.speculator import ( |
| 7 | AutoRegressiveSpeculator, |
| 8 | ) |
| 9 | from vllm.v1.worker.gpu.spec_decode.eagle.utils import load_eagle_model |
| 10 | |
| 11 | |
| 12 | class EagleSpeculator(AutoRegressiveSpeculator): |
| 13 | def load_draft_model( |
| 14 | self, |
| 15 | target_model: nn.Module, |
| 16 | target_attn_layer_names: set[str], |
| 17 | ) -> nn.Module: |
| 18 | return load_eagle_model(target_model, self.vllm_config) |