diff options
Diffstat (limited to 'g4f/__init__.py')
-rw-r--r-- | g4f/__init__.py | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/g4f/__init__.py b/g4f/__init__.py index 47d2a7a3..3ee91493 100644 --- a/g4f/__init__.py +++ b/g4f/__init__.py @@ -1,45 +1,42 @@ -from . import models -from .Provider import BaseProvider -from .typing import Any, CreateResult, Union +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) |