From 60b77e146315f4f0f23b9aa83c07d51f38927a1e Mon Sep 17 00:00:00 2001 From: Sanghoon Yoon <128017610+sanghoon-yn@users.noreply.github.com> Date: Tue, 13 Jan 2026 12:21:49 +0900 Subject: [PATCH] [Frontend] Add `reasoning_effort` to `OpenAIServing._preprocess_chat()` (#31956) Signed-off-by: Sanghoon Yoon --- vllm/entrypoints/openai/serving_chat.py | 6 +++++- vllm/entrypoints/openai/serving_responses.py | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/vllm/entrypoints/openai/serving_chat.py b/vllm/entrypoints/openai/serving_chat.py index b9a7b07b0..e65dba2b8 100644 --- a/vllm/entrypoints/openai/serving_chat.py +++ b/vllm/entrypoints/openai/serving_chat.py @@ -306,6 +306,10 @@ class OpenAIServingChat(OpenAIServing): ) if error_check_ret is not None: return error_check_ret + + chat_template_kwargs = request.chat_template_kwargs or {} + chat_template_kwargs.update(reasoning_effort=request.reasoning_effort) + conversation, engine_prompts = await self._preprocess_chat( request, tokenizer, @@ -316,7 +320,7 @@ class OpenAIServingChat(OpenAIServing): continue_final_message=request.continue_final_message, tool_dicts=tool_dicts, documents=request.documents, - chat_template_kwargs=request.chat_template_kwargs, + chat_template_kwargs=chat_template_kwargs, default_chat_template_kwargs=self.default_chat_template_kwargs, tool_parser=tool_parser, add_special_tokens=request.add_special_tokens, diff --git a/vllm/entrypoints/openai/serving_responses.py b/vllm/entrypoints/openai/serving_responses.py index c62fa0f7d..f79dad8d9 100644 --- a/vllm/entrypoints/openai/serving_responses.py +++ b/vllm/entrypoints/openai/serving_responses.py @@ -589,6 +589,13 @@ class OpenAIServingResponses(OpenAIServing): prev_msg=self.msg_store.get(prev_response.id) if prev_response else None, prev_response_output=prev_response.output if prev_response else None, ) + + chat_template_kwargs = dict( + reasoning_effort=None + if request.reasoning is None + else request.reasoning.effort + ) + _, engine_prompts = await self._preprocess_chat( request, tokenizer, @@ -597,6 +604,7 @@ class OpenAIServingResponses(OpenAIServing): tool_parser=self.tool_parser, chat_template=self.chat_template, chat_template_content_format=self.chat_template_content_format, + chat_template_kwargs=chat_template_kwargs, ) return messages, engine_prompts