diff --git a/backend/open_webui/routers/openai.py b/backend/open_webui/routers/openai.py index e26ef24d0b..695be8eb39 100644 --- a/backend/open_webui/routers/openai.py +++ b/backend/open_webui/routers/openai.py @@ -95,12 +95,12 @@ async def cleanup_response( await session.close() -def openai_o_series_handler(payload): +def openai_reasoning_model_handler(payload): """ - Handle "o" series specific parameters + Handle reasoning model specific parameters """ if "max_tokens" in payload: - # Convert "max_tokens" to "max_completion_tokens" for all o-series models + # Convert "max_tokens" to "max_completion_tokens" for all reasoning models payload["max_completion_tokens"] = payload["max_tokens"] del payload["max_tokens"] @@ -789,10 +789,10 @@ async def generate_chat_completion( url = request.app.state.config.OPENAI_API_BASE_URLS[idx] key = request.app.state.config.OPENAI_API_KEYS[idx] - # Check if model is from "o" series - is_o_series = payload["model"].lower().startswith(("o1", "o3", "o4")) - if is_o_series: - payload = openai_o_series_handler(payload) + # Check if model is a reasoning model that needs special handling + is_reasoning_model = payload["model"].lower().startswith(("o1", "o3", "o4", "gpt-5")) + if is_reasoning_model: + payload = openai_reasoning_model_handler(payload) elif "api.openai.com" not in url: # Remove "max_completion_tokens" from the payload for backward compatibility if "max_completion_tokens" in payload: