diff options
author | Ryan Jordan <ryjordan@gmail.com> | 2023-09-06 02:39:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-06 02:39:57 +0200 |
commit | f81e618958318a092ca4c70a1b3ea15260bda97c (patch) | |
tree | 3ce022a8d719011268da7f1a0befc97bf32a60d8 /g4f/__init__.py | |
parent | feat(docker): add Docker and Docker Compose support (diff) | |
parent | ~ | Merge pull request #869 from ahobsonsayers/add-console-script (diff) | |
download | gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar.gz gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar.bz2 gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar.lz gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar.xz gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.tar.zst gpt4free-f81e618958318a092ca4c70a1b3ea15260bda97c.zip |
Diffstat (limited to 'g4f/__init__.py')
-rw-r--r-- | g4f/__init__.py | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/g4f/__init__.py b/g4f/__init__.py index 47d2a7a3..065acee6 100644 --- a/g4f/__init__.py +++ b/g4f/__init__.py @@ -1,45 +1,43 @@ -from . import models -from .Provider import BaseProvider -from .typing import Any, CreateResult, Union +from __future__ import annotations +from . import models +from .Provider import BaseProvider +from .typing import Any, CreateResult, Union logging = False - class ChatCompletion: @staticmethod def create( - model: Union[models.Model, str], - messages: list[dict[str, str]], - provider: Union[type[BaseProvider], None] = None, - stream: bool = False, - auth: Union[str, None] = None, - **kwargs: Any, - ) -> Union[CreateResult, str]: + model : Union[models.Model, str], + messages : list[dict[str, str]], + provider : Union[type[BaseProvider], None] = None, + stream : bool = False, + auth : Union[str, None] = None, **kwargs: Any) -> Union[CreateResult, str]: + if isinstance(model, str): try: model = models.ModelUtils.convert[model] except KeyError: - raise Exception(f"The model: {model} does not exist") + raise Exception(f'The model: {model} does not exist') provider = model.best_provider if provider == None else provider if not provider.working: - raise Exception(f"{provider.__name__} is not working") + raise Exception(f'{provider.__name__} is not working') if provider.needs_auth and not auth: raise Exception( - f'ValueError: {provider.__name__} requires authentication (use auth="cookie or token or jwt ..." param)' - ) + f'ValueError: {provider.__name__} requires authentication (use auth=\'cookie or token or jwt ...\' param)') + if provider.needs_auth: - kwargs["auth"] = auth + kwargs['auth'] = auth if not provider.supports_stream and stream: raise Exception( - f"ValueError: {provider.__name__} does not support 'stream' argument" - ) + f'ValueError: {provider.__name__} does not support "stream" argument') if logging: - print(f"Using {provider.__name__} provider") + print(f'Using {provider.__name__} provider') result = provider.create_completion(model.name, messages, stream, **kwargs) - return result if stream else "".join(result) + return result if stream else ''.join(result) |