tavily.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.tavily.tools.tavily_search import TavilySearchTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class TavilyProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  7. try:
  8. TavilySearchTool().fork_tool_runtime(
  9. runtime={
  10. "credentials": credentials,
  11. }
  12. ).invoke(
  13. user_id="",
  14. tool_parameters={
  15. "query": "Sachin Tendulkar",
  16. "search_depth": "basic",
  17. "include_answer": True,
  18. "include_images": False,
  19. "include_raw_content": False,
  20. "max_results": 5,
  21. "include_domains": "",
  22. "exclude_domains": "",
  23. },
  24. )
  25. except Exception as e:
  26. raise ToolProviderCredentialValidationError(str(e))