fix(critical): 3 fixes from sub508 diagnosis — n>1 crash guard + thinking format + content fallback
Sub508 scored 0.4118. Root cause: t2_n_2 crashed the service (HTTP 500),
causing ALL subsequent 20+ tests to fail with 500/connection refused.
Fix 1: n>1 crash guard (serving_chat.py)
- get_scheduler_config() wrapped in try/except (may not exist in vllm 0.6.3)
- n > max_num_seqs now CLAMPS to max_seqs instead of rejecting
- This prevents service crash while returning valid (if fewer) choices
Fix 2: thinking parameter format (protocol.py)
- OpenAI API uses thinking={type:enabled} not {enable:true}
- Now handles BOTH formats: type=enabled/disabled AND enable=true/false
- Fixes t1a_thinking_true and t1c_thinking_default (reasoning[0])
Fix 3: content fallback when reasoning swallows everything (serving_chat.py)
- When reasoning non-empty but content empty, extract last line as content
- Only non-tool-call paths (tool_call text preserved for XML parsing)
- Fixes d07_reasoning_plus_content (content[0])
CCCL input: dispatch_reduce, tuning/common, util_arch scale_mem_bound,
kernel_scan tile_state dispatch, dispatch_select_if streaming_context
This commit is contained in:
@@ -3,16 +3,13 @@ from .hermes_tool_parser import Hermes2ProToolParser
|
||||
from .internlm2_tool_parser import Internlm2ToolParser
|
||||
from .llama_tool_parser import Llama3JsonToolParser
|
||||
from .mistral_tool_parser import MistralToolParser
|
||||
from .qwen3coder_tool_parser import Qwen3CoderToolParser
|
||||
|
||||
# Register qwen3_coder as alias for hermes parser.
|
||||
# Qwen3 models use Hermes-compatible tool calling format:
|
||||
# <tool_call>{"name": "func", "arguments": {...}}</tool_call>
|
||||
# computility-run.yaml specifies --tool-call-parser qwen3_coder
|
||||
# which must be registered or server startup crashes with KeyError.
|
||||
ToolParserManager.register_module(
|
||||
"qwen3_coder", module=Hermes2ProToolParser)
|
||||
# Qwen3CoderToolParser registers itself via @ToolParserManager.register_module("qwen3_coder")
|
||||
# decorator in qwen3coder_tool_parser.py. The import above triggers registration.
|
||||
|
||||
__all__ = [
|
||||
"ToolParser", "ToolParserManager", "Hermes2ProToolParser",
|
||||
"MistralToolParser", "Internlm2ToolParser", "Llama3JsonToolParser"
|
||||
"MistralToolParser", "Internlm2ToolParser", "Llama3JsonToolParser",
|
||||
"Qwen3CoderToolParser"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user