[Bugfix] fix Qwen3.5 tool calling bug#36774
Merged
DarkLight1337 merged 3 commits intovllm-project:mainfrom Mar 16, 2026
Merged
Conversation
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
Contributor
There was a problem hiding this comment.
Code Review
The pull request fixes a tool calling bug in Qwen3.5 by making the XML parsing more robust. The change from index() to find() prevents crashes on malformed input, and the logic for determining if tools were called is now more accurate. However, I've identified a critical issue where the list of tool calls returned to the caller can contain None values, which violates the expected data schema and can lead to runtime errors. I've provided a detailed comment with suggestions to fix this.
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
Collaborator
Author
|
/cc @sfeng33 PTAL. |
sfeng33
approved these changes
Mar 12, 2026
Contributor
sfeng33
left a comment
There was a problem hiding this comment.
The changes LGTM, thanks for the fix.
Collaborator
Author
|
/cc @DarkLight1337 PTAL. |
DarkLight1337
approved these changes
Mar 16, 2026
Lucaskabela
pushed a commit
to Lucaskabela/vllm
that referenced
this pull request
Mar 17, 2026
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
wendyliu235
pushed a commit
to wendyliu235/vllm-public
that referenced
this pull request
Mar 18, 2026
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
fxdawnn
pushed a commit
to fxdawnn/vllm
that referenced
this pull request
Mar 19, 2026
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
bbrowning
added a commit
to bbrowning/vllm
that referenced
this pull request
Mar 26, 2026
Audited recent tool parser bug-fix PRs and found that several landed without corresponding test coverage. Added unit tests for each fix to prevent regressions. - Mistral: fast detokenization text detection (PR vllm-project#37209) - Qwen3Coder: malformed XML crash, anyOf double-encoding, speculative decode streaming (PRs vllm-project#36774, vllm-project#36032, vllm-project#35615) - DeepSeekV32: delimiter preservation with fast detokenization, skip_special_tokens adjustment (PR vllm-project#33964) - GLM-4 MoE: zero-argument tool calls, transformers 5.x delimiter handling, Unicode character preservation (PRs vllm-project#32321, vllm-project#31622, vllm-project#30920) - MiniMax M2: anyOf nullable parameter handling for non-null and null values (PR vllm-project#32342) - Step3p5: MTP-style variable-chunk and multi-token streaming (PR vllm-project#33690) - Kimi K2: native tool call ID extraction and multi-turn ID continuity (PR vllm-project#32768) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ben Browning <bbrownin@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
FIX #36769
Test Plan
Test Result
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.