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):
| ChatCompletionNamedToolChoiceParam
| None
) = "none"
reasoning_effort: Literal["low", "medium", "high"] | None = None
reasoning_effort: Literal["none", "low", "medium", "high"] | None = None
include_reasoning: bool = True
parallel_tool_calls: bool | None = True
......@@ -778,3 +778,10 @@ class ChatCompletionRequest(OpenAIBaseModel):
)
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):
# if the model supports it. TODO: Support browsing.
assert not self.supports_browsing
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(
reasoning_effort=request.reasoning_effort,
reasoning_effort=reasoning_effort,
browser_description=None,
python_description=None,
with_custom_tools=should_include_tools,
......
......@@ -221,6 +221,9 @@ class OpenAIServingRender:
# if the model supports it. TODO: Support browsing.
assert not self.supports_browsing
assert not self.supports_code_interpreter
assert request.reasoning_effort != "none", (
"Harmony does not support reasoning_effort='none'"
)
sys_msg = get_system_message(
reasoning_effort=request.reasoning_effort,
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