From 8e052615880d18542d25e9686aa762e930d42174 Mon Sep 17 00:00:00 2001 From: Yulong Wang Date: Tue, 26 Mar 2024 10:53:39 +0800 Subject: [PATCH] Fix handling of missing required parameters in ApiTool (#2965) --- api/core/tools/tool/api_tool.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/core/tools/tool/api_tool.py b/api/core/tools/tool/api_tool.py index 54e2f41019..ab46dc61da 100644 --- a/api/core/tools/tool/api_tool.py +++ b/api/core/tools/tool/api_tool.py @@ -148,7 +148,7 @@ class ApiTool(Tool): value = '' if parameter['name'] in parameters: value = parameters[parameter['name']] - elif parameter['required']: + elif parameter.get('required', False): raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}") else: value = (parameter.get('schema', {}) or {}).get('default', '') @@ -158,7 +158,7 @@ class ApiTool(Tool): value = '' if parameter['name'] in parameters: value = parameters[parameter['name']] - elif parameter['required']: + elif parameter.get('required', False): raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}") else: value = (parameter.get('schema', {}) or {}).get('default', '') @@ -168,7 +168,7 @@ class ApiTool(Tool): value = '' if parameter['name'] in parameters: value = parameters[parameter['name']] - elif parameter['required']: + elif parameter.get('required', False): raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}") else: value = (parameter.get('schema', {}) or {}).get('default', '')