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)
This commit is contained in:
一方的赛博真君
2026-01-22 14:26:57 +08:00
committed by ulleo
parent f257138283
commit 8c309c00e1
+6 -2
View File
@@ -27,8 +27,12 @@ def _convert_delta_to_message_chunk(
role = cast(str, _dict.get("role"))
content = cast(str, _dict.get("content") or "")
additional_kwargs: dict = {}
if 'reasoning_content' in _dict:
additional_kwargs['reasoning_content'] = _dict.get('reasoning_content')
# 兼容 reasoning_content (DeepSeek等) 和 reasoning (Ollama/LMStudio GPT-OSS) 两种字段
reasoning_content = _dict.get('reasoning_content')
if not reasoning_content:
reasoning_content = _dict.get('reasoning')
if reasoning_content:
additional_kwargs['reasoning_content'] = reasoning_content
if _dict.get("function_call"):
function_call = dict(_dict["function_call"])
if "name" in function_call and function_call["name"] is None: