"docs/vscode:/vscode.git/clone" did not exist on "71832ba71e77c01a1d249e014384522b46813749"
__init__.py 2.46 KB
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3

4
from vllm.reasoning.abs_reasoning_parsers import ReasoningParser, ReasoningParserManager
5
6

__all__ = [
7
8
    "ReasoningParser",
    "ReasoningParserManager",
9
]
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""
Register a lazy module mapping.

Example:
    ReasoningParserManager.register_lazy_module(
        name="qwen3",
        module_path="vllm.reasoning.qwen3_reasoning_parser",
        class_name="Qwen3ReasoningParser",
    )
"""


_REASONING_PARSERS_TO_REGISTER = {
    "deepseek_r1": (  # name
        "deepseek_r1_reasoning_parser",  # filename
        "DeepSeekR1ReasoningParser",  # class_name
    ),
    "deepseek_v3": (
        "deepseek_v3_reasoning_parser",
        "DeepSeekV3ReasoningParser",
    ),
    "ernie45": (
        "ernie45_reasoning_parser",
        "Ernie45ReasoningParser",
    ),
    "glm45": (
        "glm4_moe_reasoning_parser",
        "Glm4MoeModelReasoningParser",
    ),
    "openai_gptoss": (
        "gptoss_reasoning_parser",
        "GptOssReasoningParser",
    ),
    "granite": (
        "granite_reasoning_parser",
        "GraniteReasoningParser",
    ),
47
48
49
50
    "holo2": (
        "holo2_reasoning_parser",
        "Holo2ReasoningParser",
    ),
51
52
53
54
    "hunyuan_a13b": (
        "hunyuan_a13b_reasoning_parser",
        "HunyuanA13BReasoningParser",
    ),
bigmoyan's avatar
bigmoyan committed
55
    "kimi_k2": (
Roger Wang's avatar
Roger Wang committed
56
57
        "kimi_k2_reasoning_parser",
        "KimiK2ReasoningParser",
bigmoyan's avatar
bigmoyan committed
58
    ),
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    "minimax_m2": (
        "minimax_m2_reasoning_parser",
        "MiniMaxM2ReasoningParser",
    ),
    "minimax_m2_append_think": (
        "minimax_m2_reasoning_parser",
        "MiniMaxM2AppendThinkReasoningParser",
    ),
    "mistral": (
        "mistral_reasoning_parser",
        "MistralReasoningParser",
    ),
    "olmo3": (
        "olmo3_reasoning_parser",
        "Olmo3ReasoningParser",
    ),
    "qwen3": (
        "qwen3_reasoning_parser",
        "Qwen3ReasoningParser",
    ),
    "seed_oss": (
        "seedoss_reasoning_parser",
        "SeedOSSReasoningParser",
    ),
    "step3": (
        "step3_reasoning_parser",
        "Step3ReasoningParser",
    ),
csy0225's avatar
csy0225 committed
87
88
89
90
    "step3p5": (
        "step3p5_reasoning_parser",
        "Step3p5ReasoningParser",
    ),
91
92
93
94
95
96
97
98
99
100
}


def register_lazy_reasoning_parsers():
    for name, (file_name, class_name) in _REASONING_PARSERS_TO_REGISTER.items():
        module_path = f"vllm.reasoning.{file_name}"
        ReasoningParserManager.register_lazy_module(name, module_path, class_name)


register_lazy_reasoning_parsers()