firecrawl.py 889 B

123456789101112131415161718192021
  1. from core.tools.errors import ToolProviderCredentialValidationError
  2. from core.tools.provider.builtin.firecrawl.tools.scrape import ScrapeTool
  3. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  4. class FirecrawlProvider(BuiltinToolProviderController):
  5. def _validate_credentials(self, credentials: dict) -> None:
  6. try:
  7. # Example validation using the ScrapeTool, only scraping title for minimize content
  8. ScrapeTool().fork_tool_runtime(
  9. runtime={"credentials": credentials}
  10. ).invoke(
  11. user_id='',
  12. tool_parameters={
  13. "url": "https://google.com",
  14. "onlyIncludeTags": 'title'
  15. }
  16. )
  17. except Exception as e:
  18. raise ToolProviderCredentialValidationError(str(e))