diff options
Diffstat (limited to 'testing/test_providers.py')
-rw-r--r-- | testing/test_providers.py | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/testing/test_providers.py b/testing/test_providers.py deleted file mode 100644 index cd82fe7c..00000000 --- a/testing/test_providers.py +++ /dev/null @@ -1,76 +0,0 @@ -import sys -from pathlib import Path -from colorama import Fore, Style - -sys.path.append(str(Path(__file__).parent.parent)) - -from g4f import BaseProvider, models, Provider - -logging = False - - -def main(): - providers = get_providers() - failed_providers = [] - - for _provider in providers: - if _provider.needs_auth: - continue - print("Provider:", _provider.__name__) - result = test(_provider) - print("Result:", result) - if _provider.working and not result: - failed_providers.append(_provider) - - print() - - if failed_providers: - print(f"{Fore.RED + Style.BRIGHT}Failed providers:{Style.RESET_ALL}") - for _provider in failed_providers: - print(f"{Fore.RED}{_provider.__name__}") - else: - print(f"{Fore.GREEN + Style.BRIGHT}All providers are working") - - -def get_providers() -> list[type[BaseProvider]]: - provider_names = dir(Provider) - ignore_names = [ - "annotations", - "base_provider", - "retry_provider", - "BaseProvider", - "AsyncProvider", - "AsyncGeneratorProvider", - "RetryProvider", - ] - return [ - getattr(Provider, provider_name) - for provider_name in provider_names - if not provider_name.startswith("__") and provider_name not in ignore_names - ] - - -def create_response(_provider: type[BaseProvider]) -> str: - model = models.gpt_35_turbo.name if _provider.supports_gpt_35_turbo else models.default.name - response = _provider.create_completion( - model=model, - messages=[{"role": "user", "content": "Hello, who are you? Answer in detail much as possible."}], - stream=False, - ) - return "".join(response) - - -def test(_provider: type[BaseProvider]) -> bool: - try: - response = create_response(_provider) - assert type(response) is str - assert len(response) > 0 - return response - except Exception as e: - if logging: - print(e) - return False - - -if __name__ == "__main__": - main()
\ No newline at end of file |