gpt4free/g4f/Provider/base_provider.py
abc 882910c1d5 ~ | major refractoring + new providers | v0.0.2.0
g4f.Provider.FastGpt & g4f.Provider.Equing

gpt-3.5-turbo-0613
2023-08-17 15:31:01 +02:00

33 lines
795 B
Python

from abc import ABC, abstractmethod
from ..typing import Any, CreateResult
class BaseProvider(ABC):
url: str
working = False
needs_auth = False
supports_stream = False
supports_gpt_35_turbo = False
supports_gpt_4 = False
@staticmethod
@abstractmethod
def create_completion(
model: str,
messages: list[dict[str, str]],
stream: bool,
**kwargs: Any,
) -> CreateResult:
raise NotImplementedError()
@classmethod
@property
def params(cls):
params = [
("model", "str"),
("messages", "list[dict[str, str]]"),
("stream", "bool"),
]
param = ", ".join([": ".join(p) for p in params])
return f"g4f.provider.{cls.__name__} supports: ({param})"