gpt4free/g4f/Provider/__init__.py

73 lines
2.4 KiB
Python
Raw Normal View History

from __future__ import annotations
2023-11-22 09:22:36 -05:00
from .base_provider import BaseProvider, AsyncProvider, AsyncGeneratorProvider
from .retry_provider import RetryProvider
from .deprecated import *
from .needs_auth import *
from .unfinished import *
from .selenium import *
from .AiAsk import AiAsk
from .Aichat import Aichat
from .AiChatOnline import AiChatOnline
from .AItianhu import AItianhu
from .AItianhuSpace import AItianhuSpace
2023-11-12 12:03:04 -05:00
from .Berlin import Berlin
from .Bing import Bing
from .ChatAnywhere import ChatAnywhere
from .ChatBase import ChatBase
from .ChatForAi import ChatForAi
from .Chatgpt4Online import Chatgpt4Online
from .ChatgptAi import ChatgptAi
from .ChatgptDemo import ChatgptDemo
from .ChatgptDemoAi import ChatgptDemoAi
from .ChatgptFree import ChatgptFree
from .ChatgptLogin import ChatgptLogin
from .ChatgptNext import ChatgptNext
from .ChatgptX import ChatgptX
2023-10-26 15:32:49 -04:00
from .DeepInfra import DeepInfra
from .FakeGpt import FakeGpt
from .FreeGpt import FreeGpt
2023-10-06 22:03:36 -04:00
from .GPTalk import GPTalk
from .GptChatly import GptChatly
2023-10-06 22:03:36 -04:00
from .GptForLove import GptForLove
from .GptGo import GptGo
from .GptGod import GptGod
2023-11-22 15:21:29 -05:00
from .GptTalkRu import GptTalkRu
from .Hashnode import Hashnode
2023-11-12 12:03:04 -05:00
from .Koala import Koala
from .Liaobots import Liaobots
2023-10-15 13:10:25 -04:00
from .Llama2 import Llama2
2023-10-22 02:57:31 -04:00
from .MyShell import MyShell
from .OnlineGpt import OnlineGpt
from .Opchatgpts import Opchatgpts
from .PerplexityAi import PerplexityAi
from .Phind import Phind
2023-12-01 17:56:12 -05:00
from .Pi import Pi
from .TalkAi import TalkAi
from .Vercel import Vercel
from .Ylokh import Ylokh
from .You import You
from .Yqcloud import Yqcloud
2023-10-27 16:59:14 -04:00
from .GeekGpt import GeekGpt
2023-08-27 11:37:44 -04:00
import sys
__modules__: list = [
getattr(sys.modules[__name__], provider) for provider in dir()
if not provider.startswith("__")
]
__providers__: list[type[BaseProvider]] = [
provider for provider in __modules__
if isinstance(provider, type)
and issubclass(provider, BaseProvider)
]
__all__: list[str] = [
provider.__name__ for provider in __providers__
]
2023-12-01 17:56:12 -05:00
__map__: dict[str, type[BaseProvider]] = dict([
(provider.__name__, provider) for provider in __providers__
])
class ProviderUtils:
2023-12-01 17:56:12 -05:00
convert: dict[str, type[BaseProvider]] = __map__