summaryrefslogtreecommitdiffstats
path: root/g4f/__init__.py
diff options
context:
space:
mode:
authorRyan Jordan <ryjordan@gmail.com>2023-09-06 02:39:57 +0200
committerGitHub <noreply@github.com>2023-09-06 02:39:57 +0200
commitf81e618958318a092ca4c70a1b3ea15260bda97c (patch)
tree3ce022a8d719011268da7f1a0befc97bf32a60d8 /g4f/__init__.py
parentfeat(docker): add Docker and Docker Compose support (diff)
parent~ | Merge pull request #869 from ahobsonsayers/add-console-script (diff)
downloadgpt4free-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__.py38
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)