diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-14 15:04:37 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-01-14 15:04:37 +0100 |
commit | 32252def150da94f12d1f3c07f977af6d8931402 (patch) | |
tree | 05a94b53b83461b8249de965e093b4fd3722e2d1 /g4f/Provider/base_provider.py | |
parent | Refactor code with AI (diff) | |
download | gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar.gz gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar.bz2 gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar.lz gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar.xz gpt4free-32252def150da94f12d1f3c07f977af6d8931402.tar.zst gpt4free-32252def150da94f12d1f3c07f977af6d8931402.zip |
Diffstat (limited to 'g4f/Provider/base_provider.py')
-rw-r--r-- | g4f/Provider/base_provider.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/g4f/Provider/base_provider.py b/g4f/Provider/base_provider.py index 3c083bda..fd92d17a 100644 --- a/g4f/Provider/base_provider.py +++ b/g4f/Provider/base_provider.py @@ -36,6 +36,17 @@ class AbstractProvider(BaseProvider): ) -> str: """ Asynchronously creates a result based on the given model and messages. + + Args: + cls (type): The class on which this method is called. + model (str): The model to use for creation. + messages (Messages): The messages to process. + loop (AbstractEventLoop, optional): The event loop to use. Defaults to None. + executor (ThreadPoolExecutor, optional): The executor for running async tasks. Defaults to None. + **kwargs: Additional keyword arguments. + + Returns: + str: The created result as a string. """ loop = loop or get_event_loop() @@ -52,6 +63,12 @@ class AbstractProvider(BaseProvider): def params(cls) -> str: """ Returns the parameters supported by the provider. + + Args: + cls (type): The class on which this property is called. + + Returns: + str: A string listing the supported parameters. """ sig = signature( cls.create_async_generator if issubclass(cls, AsyncGeneratorProvider) else @@ -90,6 +107,17 @@ class AsyncProvider(AbstractProvider): ) -> CreateResult: """ Creates a completion result synchronously. + + Args: + cls (type): The class on which this method is called. + model (str): The model to use for creation. + messages (Messages): The messages to process. + stream (bool): Indicates whether to stream the results. Defaults to False. + loop (AbstractEventLoop, optional): The event loop to use. Defaults to None. + **kwargs: Additional keyword arguments. + + Returns: + CreateResult: The result of the completion creation. """ loop = loop or get_event_loop() coro = cls.create_async(model, messages, **kwargs) @@ -104,6 +132,17 @@ class AsyncProvider(AbstractProvider): ) -> str: """ Abstract method for creating asynchronous results. + + Args: + model (str): The model to use for creation. + messages (Messages): The messages to process. + **kwargs: Additional keyword arguments. + + Raises: + NotImplementedError: If this method is not overridden in derived classes. + + Returns: + str: The created result as a string. """ raise NotImplementedError() @@ -126,6 +165,17 @@ class AsyncGeneratorProvider(AsyncProvider): ) -> CreateResult: """ Creates a streaming completion result synchronously. + + Args: + cls (type): The class on which this method is called. + model (str): The model to use for creation. + messages (Messages): The messages to process. + stream (bool): Indicates whether to stream the results. Defaults to True. + loop (AbstractEventLoop, optional): The event loop to use. Defaults to None. + **kwargs: Additional keyword arguments. + + Returns: + CreateResult: The result of the streaming completion creation. """ loop = loop or get_event_loop() generator = cls.create_async_generator(model, messages, stream=stream, **kwargs) @@ -146,6 +196,15 @@ class AsyncGeneratorProvider(AsyncProvider): ) -> str: """ Asynchronously creates a result from a generator. + + Args: + cls (type): The class on which this method is called. + model (str): The model to use for creation. + messages (Messages): The messages to process. + **kwargs: Additional keyword arguments. + + Returns: + str: The created result as a string. """ return "".join([ chunk async for chunk in cls.create_async_generator(model, messages, stream=False, **kwargs) @@ -162,5 +221,17 @@ class AsyncGeneratorProvider(AsyncProvider): ) -> AsyncResult: """ Abstract method for creating an asynchronous generator. + + Args: + model (str): The model to use for creation. + messages (Messages): The messages to process. + stream (bool): Indicates whether to stream the results. Defaults to True. + **kwargs: Additional keyword arguments. + + Raises: + NotImplementedError: If this method is not overridden in derived classes. + + Returns: + AsyncResult: An asynchronous generator yielding results. """ raise NotImplementedError()
\ No newline at end of file |