diff options
Diffstat (limited to 'g4f/Provider/base_provider.py')
-rw-r--r-- | g4f/Provider/base_provider.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/g4f/Provider/base_provider.py b/g4f/Provider/base_provider.py index a21dc871..35764081 100644 --- a/g4f/Provider/base_provider.py +++ b/g4f/Provider/base_provider.py @@ -10,11 +10,11 @@ from ..typing import AsyncGenerator, CreateResult class BaseProvider(ABC): url: str - working = False - needs_auth = False - supports_stream = False - supports_gpt_35_turbo = False - supports_gpt_4 = False + working: bool = False + needs_auth: bool = False + supports_stream: bool = False + supports_gpt_35_turbo: bool = False + supports_gpt_4: bool = False @staticmethod @abstractmethod @@ -38,13 +38,15 @@ class BaseProvider(ABC): ) -> str: if not loop: loop = get_event_loop() - def create_func(): + + def create_func() -> str: return "".join(cls.create_completion( model, messages, False, **kwargs )) + return await loop.run_in_executor( executor, create_func @@ -52,7 +54,7 @@ class BaseProvider(ABC): @classmethod @property - def params(cls): + def params(cls) -> str: params = [ ("model", "str"), ("messages", "list[dict[str, str]]"), @@ -103,7 +105,7 @@ class AsyncGeneratorProvider(AsyncProvider): stream=stream, **kwargs ) - gen = generator.__aiter__() + gen = generator.__aiter__() while True: try: yield loop.run_until_complete(gen.__anext__()) @@ -125,7 +127,7 @@ class AsyncGeneratorProvider(AsyncProvider): **kwargs ) ]) - + @staticmethod @abstractmethod def create_async_generator( |