Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions vllm/model_executor/models/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,14 @@ def verify_and_update_config(cls, vllm_config: "VllmConfig") -> None:
logger.info("Using bfloat16 kv-cache for DeepSeekV3.2")


class Qwen3MoeForCausalLMConfig(VerifyAndUpdateConfig):
@staticmethod
def verify_and_update_config(vllm_config: "VllmConfig") -> None:
structured_outputs_config = vllm_config.structured_outputs_config
if structured_outputs_config.reasoning_parser == "":
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you start vLLM?

This field structured_outputs_config.reasoning_parser can be set via the parameter --reasoning-parser qwen3.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the user intended to supply these arguments? I seems that it would make more sense to automatically set them for reasoning models. I saw that gptoss had its reasoning-parser set automatically via verify_and_update_config. Thanks for reviewing!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I think right now it is expected that the user opts in to reasoning https://docs.vllm.ai/en/latest/features/reasoning_outputs.html

structured_outputs_config.reasoning_parser = "qwen3"


MODELS_CONFIG_MAP: dict[str, type[VerifyAndUpdateConfig]] = {
"GteModel": SnowflakeGteNewModelConfig,
"GteNewModel": GteNewModelConfig,
Expand All @@ -498,6 +506,7 @@ def verify_and_update_config(cls, vllm_config: "VllmConfig") -> None:
"Qwen2ForProcessRewardModel": Qwen2ForProcessRewardModelConfig,
"Qwen2ForRewardModel": Qwen2ForRewardModelConfig,
"Qwen3ForSequenceClassification": Qwen3ForSequenceClassificationConfig,
"Qwen3MoeForCausalLM": Qwen3MoeForCausalLMConfig,
"XLMRobertaModel": JinaRobertaModelConfig,
"JinaVLForRanking": JinaVLForSequenceClassificationConfig,
"JambaForSequenceClassification": JambaForSequenceClassificationConfig,
Expand Down