From 9a7fd70150e3b90c96ed2c2d23242d0a578495ba Mon Sep 17 00:00:00 2001 From: muh-bot Date: Thu, 6 Aug 2026 06:10:43 +0000 Subject: [PATCH] [CRITICAL/base] Register qwen3_coder tool parser as hermes alias 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 in b446763) - even if argparse passes, this KeyError kills the server. Qwen3 models use Hermes-compatible tool calling format: {"name": "func", "arguments": {...}} 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 (fixed b446763) 2. ToolParserManager.get_tool_parser('qwen3_coder') -> KeyError (fixed NOW) 3. Qwen3_5MoeForCausalLM not in registry -> crash (fixed 08dc010) All three must be fixed for the server to start. --- vllm/entrypoints/openai/tool_parsers/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/vllm/entrypoints/openai/tool_parsers/__init__.py b/vllm/entrypoints/openai/tool_parsers/__init__.py index 309d9bed..1ca777bd 100644 --- a/vllm/entrypoints/openai/tool_parsers/__init__.py +++ b/vllm/entrypoints/openai/tool_parsers/__init__.py @@ -4,6 +4,14 @@ 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: +# {"name": "func", "arguments": {...}} +# 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"