選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

tools_manage_service.py 838B

123456789101112131415161718192021222324252627
  1. import logging
  2. from typing import Optional
  3. from core.tools.entities.api_entities import ToolProviderTypeApiLiteral
  4. from core.tools.tool_manager import ToolManager
  5. from services.tools.tools_transform_service import ToolTransformService
  6. logger = logging.getLogger(__name__)
  7. class ToolCommonService:
  8. @staticmethod
  9. def list_tool_providers(user_id: str, tenant_id: str, typ: Optional[ToolProviderTypeApiLiteral] = None):
  10. """
  11. list tool providers
  12. :return: the list of tool providers
  13. """
  14. providers = ToolManager.list_providers_from_api(user_id, tenant_id, typ)
  15. # add icon
  16. for provider in providers:
  17. ToolTransformService.repack_provider(tenant_id=tenant_id, provider=provider)
  18. result = [provider.to_dict() for provider in providers]
  19. return result