diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index ce6ae2aca..cde626b55 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -667,29 +667,10 @@ def apply_params_to_form_data(form_data, model): if "keep_alive" in params: form_data["keep_alive"] = params["keep_alive"] else: - if "seed" in params and params["seed"] is not None: - form_data["seed"] = params["seed"] - - if "stop" in params and params["stop"] is not None: - form_data["stop"] = params["stop"] - - if "temperature" in params and params["temperature"] is not None: - form_data["temperature"] = params["temperature"] - - if "max_tokens" in params and params["max_tokens"] is not None: - form_data["max_tokens"] = params["max_tokens"] - - if "top_p" in params and params["top_p"] is not None: - form_data["top_p"] = params["top_p"] - - if "frequency_penalty" in params and params["frequency_penalty"] is not None: - form_data["frequency_penalty"] = params["frequency_penalty"] - - if "presence_penalty" in params and params["presence_penalty"] is not None: - form_data["presence_penalty"] = params["presence_penalty"] - - if "reasoning_effort" in params and params["reasoning_effort"] is not None: - form_data["reasoning_effort"] = params["reasoning_effort"] + if isinstance(params, dict): + for key, value in params.items(): + if value is not None: + form_data[key] = value if "logit_bias" in params and params["logit_bias"] is not None: try: @@ -703,7 +684,6 @@ def apply_params_to_form_data(form_data, model): async def process_chat_payload(request, form_data, user, metadata, model): - form_data = apply_params_to_form_data(form_data, model) log.debug(f"form_data: {form_data}") diff --git a/backend/open_webui/utils/payload.py b/backend/open_webui/utils/payload.py index 599881c4d..f4592cea9 100644 --- a/backend/open_webui/utils/payload.py +++ b/backend/open_webui/utils/payload.py @@ -45,9 +45,14 @@ def apply_model_params_to_body( if not params: return form_data - for key, cast_func in mappings.items(): - if (value := params.get(key)) is not None: - form_data[key] = cast_func(value) + for key, value in params.items(): + if value is not None: + if key in mappings: + cast_func = mappings[key] + if isinstance(cast_func, Callable): + form_data[key] = cast_func(value) + else: + form_data[key] = value return form_data