diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py index 2dd566f2a..95f48fb1c 100644 --- a/backend/open_webui/routers/ollama.py +++ b/backend/open_webui/routers/ollama.py @@ -1283,16 +1283,15 @@ async def generate_chat_completion( params = model_info.params.model_dump() if params: - if payload.get("options") is None: - payload["options"] = {} + system = params.pop("system", None) + # Unlike OpenAI, Ollama does not support params directly in the body payload["options"] = apply_model_params_to_body_ollama( - params, payload["options"] - ) - payload = apply_model_system_prompt_to_body( - params.get("system"), payload, metadata, user + params, (payload.get("options", {}) or {}) ) + payload = apply_model_system_prompt_to_body(system, payload, metadata, user) + # Check if user has access to the model if not bypass_filter and user.role == "user": if not (