websearch.py 800 B

123456789101112131415161718192021
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.websearch.tools.web_search import WebSearchTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class WebSearchAPIProvider(BuiltinToolProviderController):
  6. # validate when saving the api_key
  7. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  8. try:
  9. WebSearchTool().fork_tool_runtime(
  10. runtime={
  11. "credentials": credentials,
  12. }
  13. ).invoke(
  14. user_id="",
  15. tool_parameters={"query": "what is llm"},
  16. )
  17. except Exception as e:
  18. raise ToolProviderCredentialValidationError(str(e))