Without this: --tool-call-parser qwen3_coder causes api_server.py to crash with KeyError at line 537: 'invalid tool call parser: qwen3_coder' This is AFTER the --reasoning-parser crash (fixed inb446763) - even if argparse passes, this KeyError kills the server. Qwen3 models use Hermes-compatible tool calling format: <tool_call>{"name": "func", "arguments": {...}}</tool_call> So registering qwen3_coder -> Hermes2ProToolParser is semantically correct. This was the SECOND startup blocker preventing the benchmark task from completing. The first was --reasoning-parser (fixed). Together these explain why task_id=3905102 has been stuck at status=running for 84+ minutes. Startup sequence that was failing: 1. argparse --reasoning-parser qwen3 -> CRASH (fixedb446763) 2. ToolParserManager.get_tool_parser('qwen3_coder') -> KeyError (fixed NOW) 3. Qwen3_5MoeForCausalLM not in registry -> crash (fixed08dc010) All three must be fixed for the server to start.
19 lines
813 B
Python
19 lines
813 B
Python
from .abstract_tool_parser import ToolParser, ToolParserManager
|
|
from .hermes_tool_parser import Hermes2ProToolParser
|
|
from .internlm2_tool_parser import Internlm2ToolParser
|
|
from .llama_tool_parser import Llama3JsonToolParser
|
|
from .mistral_tool_parser import MistralToolParser
|
|
|
|
# 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)
|
|
|
|
__all__ = [
|
|
"ToolParser", "ToolParserManager", "Hermes2ProToolParser",
|
|
"MistralToolParser", "Internlm2ToolParser", "Llama3JsonToolParser"
|
|
]
|