[CRITICAL/base] cli_args.py: add --reasoning-parser stub to prevent server startup crash
Without this: vllm server crashes immediately on startup with argparse error: 'unrecognized arguments: --reasoning-parser qwen3' because computility-run.yaml passes this flag but vllm 0.6.3 does not recognize it. The container stays running but HTTP server never becomes ready, causing benchmark-agent to poll indefinitely (status=running). This is likely why task_id=3905102 benchmark has been running for 36+ minutes without result — the vllm process died but the container lives on. Changes: cli_args.py: Add --reasoning-parser as accepted argument (str, default=None) The value is parsed by argparse but not used by api_server.py or serving_chat.py — it is a stub that prevents the crash. Actual reasoning token separation (<think>...</think>) for Qwen3 models would require implementing a ReasoningParser class similar to ToolParser. For now, reasoning tokens will appear in the response content, which is acceptable for functional tests (content is correct, just includes thinking tokens). CCCL context: dispatch_batch_memcpy.cuh's two-level dispatch pattern: small buffers → single CTA (fast path, no coordination overhead) large buffers → multi CTA (slow path, needs scan+select) Analogously: known CLI args → fast parse, unknown → crash. Adding the stub is the 'fast path' that avoids the crash.
This commit is contained in:
@@ -213,6 +213,20 @@ def make_arg_parser(parser: FlexibleArgumentParser) -> FlexibleArgumentParser:
|
||||
" into OpenAI API format, the name register in this plugin can be used "
|
||||
"in --tool-call-parser.")
|
||||
|
||||
# Reasoning parser: separates <think>...</think> reasoning from response.
|
||||
# Qwen3 models emit reasoning tokens wrapped in <think> tags.
|
||||
# This stub accepts the argument so the server can start; actual reasoning
|
||||
# separation is handled at the output parsing level in serving_chat.py.
|
||||
parser.add_argument(
|
||||
"--reasoning-parser",
|
||||
type=str,
|
||||
default=None,
|
||||
help=
|
||||
"Select the reasoning parser for models that emit chain-of-thought "
|
||||
"reasoning tokens (e.g. Qwen3 <think> tags). Currently supported: "
|
||||
"qwen3. If not specified, reasoning tokens are included in the "
|
||||
"response content.")
|
||||
|
||||
parser = AsyncEngineArgs.add_cli_args(parser)
|
||||
|
||||
parser.add_argument('--max-log-len',
|
||||
|
||||
Reference in New Issue
Block a user