Add audio transcribing example and support

Add Grok Chat provider
Rename images parameter to media
Update demo homepage
This commit is contained in:
hlohaus
2025-03-21 03:17:45 +01:00
parent 10d32a4c5f
commit c97ba0c88e
36 changed files with 407 additions and 300 deletions

View File

@@ -6,10 +6,10 @@ from g4f.models import __models__
from g4f.providers.base_provider import BaseProvider, ProviderModelMixin
from g4f.errors import MissingRequirementsError, MissingAuthError
class TestProviderHasModel(unittest.IsolatedAsyncioTestCase):
class TestProviderHasModel(unittest.TestCase):
cache: dict = {}
async def test_provider_has_model(self):
def test_provider_has_model(self):
for model, providers in __models__.values():
for provider in providers:
if issubclass(provider, ProviderModelMixin):
@@ -17,9 +17,9 @@ class TestProviderHasModel(unittest.IsolatedAsyncioTestCase):
model_name = provider.model_aliases[model.name]
else:
model_name = model.name
await asyncio.wait_for(self.provider_has_model(provider, model_name), 10)
self.provider_has_model(provider, model_name)
async def provider_has_model(self, provider: Type[BaseProvider], model: str):
def provider_has_model(self, provider: Type[BaseProvider], model: str):
if provider.__name__ not in self.cache:
try:
self.cache[provider.__name__] = provider.get_models()
@@ -28,7 +28,7 @@ class TestProviderHasModel(unittest.IsolatedAsyncioTestCase):
if self.cache[provider.__name__]:
self.assertIn(model, self.cache[provider.__name__], provider.__name__)
async def test_all_providers_working(self):
def test_all_providers_working(self):
for model, providers in __models__.values():
for provider in providers:
self.assertTrue(provider.working, f"{provider.__name__} in {model.name}")