Skip to content

Commit 8c309c0

Browse files
WainWongulleo
authored andcommitted
fix(ai_model): support reasoning field for Ollama/LMStudio thinking models
Add compatibility for the `reasoning` field in addition to `reasoning_content`. Ollama/LMStudio follows GPT-OSS official recommendation to use `reasoning` field for thinking content, while DeepSeek uses `reasoning_content`. Priority: reasoning_content > reasoning (fallback)
1 parent f257138 commit 8c309c0

File tree

1 file changed

+6
-2
lines changed
  • backend/apps/ai_model/openai

1 file changed

+6
-2
lines changed

backend/apps/ai_model/openai/llm.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ def _convert_delta_to_message_chunk(
2727
role = cast(str, _dict.get("role"))
2828
content = cast(str, _dict.get("content") or "")
2929
additional_kwargs: dict = {}
30-
if 'reasoning_content' in _dict:
31-
additional_kwargs['reasoning_content'] = _dict.get('reasoning_content')
30+
# 兼容 reasoning_content (DeepSeek等) 和 reasoning (Ollama/LMStudio GPT-OSS) 两种字段
31+
reasoning_content = _dict.get('reasoning_content')
32+
if not reasoning_content:
33+
reasoning_content = _dict.get('reasoning')
34+
if reasoning_content:
35+
additional_kwargs['reasoning_content'] = reasoning_content
3236
if _dict.get("function_call"):
3337
function_call = dict(_dict["function_call"])
3438
if "name" in function_call and function_call["name"] is None:

0 commit comments

Comments
 (0)