| import sys |
| from pathlib import Path |
| import asyncio |
|
|
| sys.path.append(str(Path(__file__).parent.parent)) |
|
|
| import g4f |
| from g4f.Provider import AsyncProvider |
| from testing.test_providers import get_providers |
| from testing.log_time import log_time_async |
|
|
| async def create_async(provider): |
| model = g4f.models.gpt_35_turbo.name if provider.supports_gpt_35_turbo else g4f.models.default.name |
| try: |
| response = await log_time_async( |
| provider.create_async, |
| model=model, |
| messages=[{"role": "user", "content": "Hello Assistant!"}] |
| ) |
| print(f"{provider.__name__}:", response) |
| except Exception as e: |
| return f"{provider.__name__}: {e.__class__.__name__}: {e}" |
|
|
| async def run_async(): |
| responses: list = [ |
| create_async(_provider) |
| for _provider in get_providers() |
| if _provider.working and issubclass(_provider, AsyncProvider) |
| ] |
| responses = await asyncio.gather(*responses) |
| for error in responses: |
| if error: |
| print(error) |
|
|
| print("Total:", asyncio.run(log_time_async(run_async))) |