chart.py 852 B

123456789101112131415161718192021222324
  1. import matplotlib.pyplot as plt
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.chart.tools.line import LinearChartTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. # use a business theme
  6. plt.style.use('seaborn-v0_8-darkgrid')
  7. class ChartProvider(BuiltinToolProviderController):
  8. def _validate_credentials(self, credentials: dict) -> None:
  9. try:
  10. LinearChartTool().fork_tool_runtime(
  11. meta={
  12. "credentials": credentials,
  13. }
  14. ).invoke(
  15. user_id='',
  16. tool_parameters={
  17. "data": "1,3,5,7,9,2,4,6,8,10",
  18. },
  19. )
  20. except Exception as e:
  21. raise ToolProviderCredentialValidationError(str(e))