From d862295a05167d16bfa77156f8a7eb2cd47aefb0 Mon Sep 17 00:00:00 2001 From: Peter De-Ath Date: Thu, 6 Mar 2025 23:27:52 +0000 Subject: [PATCH] fix: update chat completion tools handler to use parameters from spec fixing defaults always used --- backend/open_webui/utils/middleware.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 289d887df..f62487d7a 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -189,17 +189,11 @@ async def chat_completion_tools_handler( tool_function_params = tool_call.get("parameters", {}) try: - required_params = ( - tools[tool_function_name] - .get("spec", {}) - .get("parameters", {}) - .get("required", []) - ) + spec = tools[tool_function_name].get("spec", {}) + allowed_params = spec.get("parameters", {}).get("properties", {}).keys() tool_function = tools[tool_function_name]["callable"] tool_function_params = { - k: v - for k, v in tool_function_params.items() - if k in required_params + k: v for k, v in tool_function_params.items() if k in allowed_params } tool_output = await tool_function(**tool_function_params)