Add 'none' reasoning effort to ChatCompletionRequest (#36238)

Signed-off-by: Julien Denize <julien.denize@mistral.ai>
This commit is contained in:
Julien Denize
2026-03-11 16:45:34 +01:00
committed by GitHub
parent 35db669f1d
commit a3ea760ea5
3 changed files with 14 additions and 2 deletions

View File

@@ -179,7 +179,7 @@ class ChatCompletionRequest(OpenAIBaseModel):
| ChatCompletionNamedToolChoiceParam | ChatCompletionNamedToolChoiceParam
| None | None
) = "none" ) = "none"
reasoning_effort: Literal["low", "medium", "high"] | None = None reasoning_effort: Literal["none", "low", "medium", "high"] | None = None
include_reasoning: bool = True include_reasoning: bool = True
parallel_tool_calls: bool | None = True parallel_tool_calls: bool | None = True
@@ -778,3 +778,10 @@ class ChatCompletionRequest(OpenAIBaseModel):
) )
return data return data
@model_validator(mode="before")
@classmethod
def set_include_reasoning_for_none_effort(cls, data: Any) -> Any:
if data.get("reasoning_effort") == "none":
data["include_reasoning"] = False
return data

View File

@@ -1893,8 +1893,10 @@ class OpenAIServingChat(OpenAIServing):
# if the model supports it. TODO: Support browsing. # if the model supports it. TODO: Support browsing.
assert not self.supports_browsing assert not self.supports_browsing
assert not self.supports_code_interpreter assert not self.supports_code_interpreter
if (reasoning_effort := request.reasoning_effort) == "none":
raise ValueError(f"Harmony does not support {reasoning_effort=}")
sys_msg = get_system_message( sys_msg = get_system_message(
reasoning_effort=request.reasoning_effort, reasoning_effort=reasoning_effort,
browser_description=None, browser_description=None,
python_description=None, python_description=None,
with_custom_tools=should_include_tools, with_custom_tools=should_include_tools,

View File

@@ -221,6 +221,9 @@ class OpenAIServingRender:
# if the model supports it. TODO: Support browsing. # if the model supports it. TODO: Support browsing.
assert not self.supports_browsing assert not self.supports_browsing
assert not self.supports_code_interpreter assert not self.supports_code_interpreter
assert request.reasoning_effort != "none", (
"Harmony does not support reasoning_effort='none'"
)
sys_msg = get_system_message( sys_msg = get_system_message(
reasoning_effort=request.reasoning_effort, reasoning_effort=request.reasoning_effort,
browser_description=None, browser_description=None,