from __future__ import annotations from ..providers.types import BaseProvider, ProviderType from ..providers.retry_provider import RetryProvider, IterProvider from ..providers.base_provider import AsyncProvider, AsyncGeneratorProvider from ..providers.create_images import CreateImagesProvider from .deprecated import * from .not_working import * from .selenium import * from .needs_auth import * from .Aichatos import Aichatos from .Aura import Aura from .Bing import Bing from .BingCreateImages import BingCreateImages from .Blackbox import Blackbox from .ChatForAi import ChatForAi from .Chatgpt4Online import Chatgpt4Online from .ChatgptAi import ChatgptAi from .ChatgptFree import ChatgptFree from .ChatgptNext import ChatgptNext from .ChatgptX import ChatgptX from .Cnote import Cnote from .Cohere import Cohere from .DeepInfra import DeepInfra from .DeepInfraImage import DeepInfraImage from .DuckDuckGo import DuckDuckGo from .Ecosia import Ecosia from .Feedough import Feedough from .FlowGpt import FlowGpt from .FreeChatgpt import FreeChatgpt from .FreeGpt import FreeGpt from .GigaChat import GigaChat from .GeminiPro import GeminiPro from .GeminiProChat import GeminiProChat from .GptTalkRu import GptTalkRu from .HuggingChat import HuggingChat from .HuggingFace import HuggingFace from .Koala import Koala from .Liaobots import Liaobots from .Llama import Llama from .Local import Local from .MetaAI import MetaAI from .MetaAIAccount import MetaAIAccount from .PerplexityLabs import PerplexityLabs from .Pi import Pi from .Replicate import Replicate from .ReplicateImage import ReplicateImage from .Vercel import Vercel from .WhiteRabbitNeo import WhiteRabbitNeo from .You import You from .Reka import Reka import sys __modules__: list = [ getattr(sys.modules[__name__], provider) for provider in dir() if not provider.startswith("__") ] __providers__: list[ProviderType] = [ provider for provider in __modules__ if isinstance(provider, type) and issubclass(provider, BaseProvider) ] __all__: list[str] = [ provider.__name__ for provider in __providers__ ] __map__: dict[str, ProviderType] = dict([ (provider.__name__, provider) for provider in __providers__ ]) class ProviderUtils: convert: dict[str, ProviderType] = __map__