diff --git a/rag/llm/chat_model.py b/rag/llm/chat_model.py
index 10b2fb515..4476ccbbd 100644
--- a/rag/llm/chat_model.py
+++ b/rag/llm/chat_model.py
@@ -149,12 +149,13 @@ class Base(ABC):
continue
if not resp.choices[0].delta.content:
resp.choices[0].delta.content = ""
- if kwargs.get("with_reasoning", True) and hasattr(resp.choices[0].delta, "reasoning_content") and resp.choices[0].delta.reasoning_content:
+ _reasoning = getattr(resp.choices[0].delta, "reasoning_content", None) or getattr(resp.choices[0].delta, "reasoning", None)
+ if kwargs.get("with_reasoning", True) and _reasoning:
ans = ""
if not reasoning_start:
reasoning_start = True
ans = ""
- ans += resp.choices[0].delta.reasoning_content + ""
+ ans += _reasoning + ""
else:
reasoning_start = False
ans = resp.choices[0].delta.content
@@ -294,8 +295,9 @@ class Base(ABC):
raise Exception(f"500 response structure error. Response: {response}")
if not hasattr(response.choices[0].message, "tool_calls") or not response.choices[0].message.tool_calls:
- if hasattr(response.choices[0].message, "reasoning_content") and response.choices[0].message.reasoning_content:
- ans += "" + response.choices[0].message.reasoning_content + ""
+ _reasoning = getattr(response.choices[0].message, "reasoning_content", None) or getattr(response.choices[0].message, "reasoning", None)
+ if _reasoning:
+ ans += "" + _reasoning + ""
ans += response.choices[0].message.content
if response.choices[0].finish_reason == "length":
@@ -370,12 +372,13 @@ class Base(ABC):
if not hasattr(delta, "content") or delta.content is None:
delta.content = ""
- if hasattr(delta, "reasoning_content") and delta.reasoning_content:
+ _reasoning = getattr(delta, "reasoning_content", None) or getattr(delta, "reasoning", None)
+ if _reasoning:
ans = ""
if not reasoning_start:
reasoning_start = True
ans = ""
- ans += delta.reasoning_content + ""
+ ans += _reasoning + ""
yield ans
else:
reasoning_start = False
@@ -1279,12 +1282,13 @@ class LiteLLMBase(ABC):
if not hasattr(delta, "content") or delta.content is None:
delta.content = ""
- if kwargs.get("with_reasoning", True) and hasattr(delta, "reasoning_content") and delta.reasoning_content:
+ _reasoning = getattr(delta, "reasoning_content", None) or getattr(delta, "reasoning", None)
+ if kwargs.get("with_reasoning", True) and _reasoning:
ans = ""
if not reasoning_start:
reasoning_start = True
ans = ""
- ans += delta.reasoning_content + ""
+ ans += _reasoning + ""
else:
reasoning_start = False
ans = delta.content
@@ -1404,8 +1408,9 @@ class LiteLLMBase(ABC):
message = response.choices[0].message
if not hasattr(message, "tool_calls") or not message.tool_calls:
- if hasattr(message, "reasoning_content") and message.reasoning_content:
- ans += f"{message.reasoning_content}"
+ _reasoning = getattr(message, "reasoning_content", None) or getattr(message, "reasoning", None)
+ if _reasoning:
+ ans += f"{_reasoning}"
ans += message.content or ""
if response.choices[0].finish_reason == "length":
ans = self._length_stop(ans)
@@ -1485,12 +1490,13 @@ class LiteLLMBase(ABC):
if not hasattr(delta, "content") or delta.content is None:
delta.content = ""
- if hasattr(delta, "reasoning_content") and delta.reasoning_content:
+ _reasoning = getattr(delta, "reasoning_content", None) or getattr(delta, "reasoning", None)
+ if _reasoning:
ans = ""
if not reasoning_start:
reasoning_start = True
ans = ""
- ans += delta.reasoning_content + ""
+ ans += _reasoning + ""
yield ans
else:
reasoning_start = False