vanna.py 945 B

12345678910111213141516171819202122232425
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.vanna.tools.vanna import VannaTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class VannaProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  7. try:
  8. VannaTool().fork_tool_runtime(
  9. runtime={
  10. "credentials": credentials,
  11. }
  12. ).invoke(
  13. user_id='',
  14. tool_parameters={
  15. "model": "chinook",
  16. "db_type": "SQLite",
  17. "url": "https://vanna.ai/Chinook.sqlite",
  18. "query": "What are the top 10 customers by sales?"
  19. },
  20. )
  21. except Exception as e:
  22. raise ToolProviderCredentialValidationError(str(e))