Unverified Commit a3ea760e authored by Julien Denize's avatar Julien Denize Committed by GitHub
Browse files

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


Signed-off-by: default avatarJulien Denize <julien.denize@mistral.ai>
parent 35db669f
...@@ -179,7 +179,7 @@ class ChatCompletionRequest(OpenAIBaseModel): ...@@ -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): ...@@ -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
...@@ -1893,8 +1893,10 @@ class OpenAIServingChat(OpenAIServing): ...@@ -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,
......
...@@ -221,6 +221,9 @@ class OpenAIServingRender: ...@@ -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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment