소스 검색

Fix handling of missing required parameters in ApiTool (#2965)

Yulong Wang 1 년 전
부모
커밋
8e05261588
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      api/core/tools/tool/api_tool.py

+ 3 - 3
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', '')