searxng.py 800 B

1234567891011121314151617181920
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.searxng.tools.searxng_search import SearXNGSearchTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class SearXNGProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  7. try:
  8. SearXNGSearchTool().fork_tool_runtime(
  9. runtime={
  10. "credentials": credentials,
  11. }
  12. ).invoke(
  13. user_id="",
  14. tool_parameters={"query": "SearXNG", "limit": 1, "search_type": "general"},
  15. )
  16. except Exception as e:
  17. raise ToolProviderCredentialValidationError(str(e))