_positions.py 658 B

1234567891011121314151617181920212223242526
  1. from core.tools.entities.user_entities import UserToolProvider
  2. from typing import List
  3. position = {
  4. 'google': 1,
  5. 'wikipedia': 2,
  6. 'dalle': 3,
  7. 'webscraper': 4,
  8. 'wolframalpha': 5,
  9. 'chart': 6,
  10. 'time': 7,
  11. 'yahoo': 8,
  12. 'stablediffusion': 9,
  13. 'vectorizer': 10,
  14. 'youtube': 11,
  15. }
  16. class BuiltinToolProviderSort:
  17. @staticmethod
  18. def sort(providers: List[UserToolProvider]) -> List[UserToolProvider]:
  19. def sort_compare(provider: UserToolProvider) -> int:
  20. return position.get(provider.name, 10000)
  21. sorted_providers = sorted(providers, key=sort_compare)
  22. return sorted_providers