Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
change
sglang
Commits
3e7ff1ab
Unverified
Commit
3e7ff1ab
authored
Aug 07, 2025
by
Xinyuan Tong
Committed by
GitHub
Aug 07, 2025
Browse files
fix: reasoning parser when request have enable_thinking flag (#8933)
Signed-off-by:
Xinyuan Tong
<
xinyuantong.cs@gmail.com
>
parent
aaf0ad8c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
2 deletions
+10
-2
python/sglang/srt/entrypoints/openai/serving_chat.py
python/sglang/srt/entrypoints/openai/serving_chat.py
+10
-2
No files found.
python/sglang/srt/entrypoints/openai/serving_chat.py
View file @
3e7ff1ab
...
@@ -840,11 +840,15 @@ class OpenAIServingChat(OpenAIServingBase):
...
@@ -840,11 +840,15 @@ class OpenAIServingChat(OpenAIServingBase):
reasoning_text
=
None
reasoning_text
=
None
reasoning_parser
=
self
.
tokenizer_manager
.
server_args
.
reasoning_parser
reasoning_parser
=
self
.
tokenizer_manager
.
server_args
.
reasoning_parser
if
reasoning_parser
and
request
.
separate_reasoning
:
if
reasoning_parser
and
request
.
separate_reasoning
:
is_force_reasoning
=
(
self
.
template_manager
.
force_reasoning
or
self
.
_get_enable_thinking_from_request
(
request
)
)
try
:
try
:
parser
=
ReasoningParser
(
parser
=
ReasoningParser
(
model_type
=
reasoning_parser
,
model_type
=
reasoning_parser
,
stream_reasoning
=
False
,
stream_reasoning
=
False
,
force_reasoning
=
self
.
template_manager
.
force_reasoning
,
force_reasoning
=
is_
force_reasoning
,
)
)
reasoning_text
,
text
=
parser
.
parse_non_stream
(
text
)
reasoning_text
,
text
=
parser
.
parse_non_stream
(
text
)
except
Exception
as
e
:
except
Exception
as
e
:
...
@@ -1007,10 +1011,14 @@ class OpenAIServingChat(OpenAIServingBase):
...
@@ -1007,10 +1011,14 @@ class OpenAIServingChat(OpenAIServingBase):
)
->
tuple
[
Optional
[
str
],
str
]:
)
->
tuple
[
Optional
[
str
],
str
]:
"""Process reasoning content in streaming response"""
"""Process reasoning content in streaming response"""
if
index
not
in
reasoning_parser_dict
:
if
index
not
in
reasoning_parser_dict
:
is_force_reasoning
=
(
self
.
template_manager
.
force_reasoning
or
self
.
_get_enable_thinking_from_request
(
request
)
)
reasoning_parser_dict
[
index
]
=
ReasoningParser
(
reasoning_parser_dict
[
index
]
=
ReasoningParser
(
self
.
tokenizer_manager
.
server_args
.
reasoning_parser
,
self
.
tokenizer_manager
.
server_args
.
reasoning_parser
,
request
.
stream_reasoning
,
request
.
stream_reasoning
,
self
.
template_manager
.
force_reasoning
,
is_
force_reasoning
,
)
)
reasoning_parser
=
reasoning_parser_dict
[
index
]
reasoning_parser
=
reasoning_parser_dict
[
index
]
return
reasoning_parser
.
parse_stream_chunk
(
delta
)
return
reasoning_parser
.
parse_stream_chunk
(
delta
)
...
...
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