maths.py 889 B

123456789101112131415161718192021222324
  1. from typing import Any
  2. from core.tools.entities.values import ToolLabelEnum
  3. from core.tools.errors import ToolProviderCredentialValidationError
  4. from core.tools.provider.builtin.maths.tools.eval_expression import EvaluateExpressionTool
  5. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  6. class MathsProvider(BuiltinToolProviderController):
  7. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  8. try:
  9. EvaluateExpressionTool().invoke(
  10. user_id='',
  11. tool_parameters={
  12. 'expression': '1+(2+3)*4',
  13. },
  14. )
  15. except Exception as e:
  16. raise ToolProviderCredentialValidationError(str(e))
  17. def _get_tool_labels(self) -> list[ToolLabelEnum]:
  18. return [
  19. ToolLabelEnum.UTILITIES, ToolLabelEnum.PRODUCTIVITY
  20. ]