[Bugfix] deepseek_r1_reasoning_parser put reason content in wrong field in certain edge case (#13097)

This commit is contained in:
LikeSundayLikeRain 2025-02-13 02:11:26 -05:00 committed by GitHub
parent 60c68df6d1
commit 04f50ad9d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

View File

@ -24,10 +24,10 @@ COMPLETE_REASONING = {
"reasoning_content": "This is a reasoning section",
"content": None,
}
NO_REASONING = {
NO_CONTENT = {
"output": "This is content",
"reasoning_content": None,
"content": "This is content",
"reasoning_content": "This is content",
"content": None,
}
NO_REASONING_STREAMING = {
"output": "This is a reasoning section",
@ -98,8 +98,8 @@ TEST_CASES = [
),
pytest.param(
False,
NO_REASONING,
id="no_reasoning_token",
NO_CONTENT,
id="no_content_token",
),
pytest.param(
True,

View File

@ -128,7 +128,7 @@ class DeepSeekR1ReasoningParser(ReasoningParser):
# Thus we assume the reasoning content is always at the start.
# Ref https://huggingface.co/deepseek-ai/DeepSeek-R1/commit/8a58a132790c9935686eb97f042afa8013451c9f
if self.think_end_token not in model_output:
return None, model_output
return model_output, None
else:
# Add a start token if it's missing to keep compatibility.
if self.think_start_token not in model_output: