Kaynağa Gözat

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

Yulong Wang 1 yıl önce
ebeveyn
işleme
8e05261588
1 değiştirilmiş dosya ile 3 ekleme ve 3 silme
  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', '')