Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
8d3f8f48
Unverified
Commit
8d3f8f48
authored
Mar 16, 2026
by
Chauncey
Committed by
GitHub
Mar 16, 2026
Browse files
[Bugfix] fix Qwen3.5 tool calling bug (#36774)
Signed-off-by:
chaunceyjiang
<
chaunceyjiang@gmail.com
>
parent
96efb914
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
5 deletions
+7
-5
vllm/tool_parsers/qwen3coder_tool_parser.py
vllm/tool_parsers/qwen3coder_tool_parser.py
+7
-5
No files found.
vllm/tool_parsers/qwen3coder_tool_parser.py
View file @
8d3f8f48
...
...
@@ -249,7 +249,10 @@ class Qwen3CoderToolParser(ToolParser):
self
,
function_call_str
:
str
,
tools
:
list
[
ChatCompletionToolsParam
]
|
None
)
->
ToolCall
|
None
:
# Extract function name
end_index
=
function_call_str
.
index
(
">"
)
end_index
=
function_call_str
.
find
(
">"
)
# If there's no ">" character, this is not a valid xml function call
if
end_index
==
-
1
:
return
None
function_name
=
function_call_str
[:
end_index
]
param_config
=
self
.
_get_arguments_config
(
function_name
,
tools
)
parameters
=
function_call_str
[
end_index
+
1
:]
...
...
@@ -316,7 +319,6 @@ class Qwen3CoderToolParser(ToolParser):
self
.
_parse_xml_function_call
(
function_call_str
,
request
.
tools
)
for
function_call_str
in
function_calls
]
# Populate prev_tool_call_arr for serving layer to set finish_reason
self
.
prev_tool_call_arr
.
clear
()
# Clear previous calls
for
tool_call
in
tool_calls
:
...
...
@@ -333,10 +335,10 @@ class Qwen3CoderToolParser(ToolParser):
idx
=
model_output
.
find
(
self
.
tool_call_prefix
)
content_index
=
content_index
if
content_index
>=
0
else
idx
content
=
model_output
[:
content_index
]
# .rstrip()
valid_tool_calls
=
[
tc
for
tc
in
tool_calls
if
tc
is
not
None
]
return
ExtractedToolCallInformation
(
tools_called
=
(
len
(
tool_calls
)
>
0
),
tool_calls
=
tool_calls
,
tools_called
=
(
len
(
valid_
tool_calls
)
>
0
),
tool_calls
=
valid_
tool_calls
,
content
=
content
if
content
else
None
,
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment