Files

1 line
14 KiB
JSON

{"repo": "benzitools/benzi-gpt-free", "files": {"g4f/models.py": {"82915af03d2f1102b9b16fac2b5b92cc42df34d7": {"t": 1785674652.5843499, "n": 13961, "h": "81071779cbc35124", "c": "from __future__ import annotations\n\nfrom dataclasses import dataclass\n\nfrom .Provider import IterListProvider, ProviderType\nfrom .Provider import (\n AI365VIP,\n Allyfy,\n Bing,\n Blackbox,\n ChatGot,\n Chatgpt4o,\n Chatgpt4Online,\n ChatgptFree,\n DDG,\n DeepInfra,\n DeepInfraImage,\n FreeChatgpt,\n FreeGpt,\n FreeNetfly,\n Gemini,\n GeminiPro,\n GeminiProChat,\n GigaChat,\n HuggingChat,\n HuggingFace,\n Koala,\n Liaobots,\n LiteIcoding,\n MagickPenAsk,\n MagickPenChat,\n Marsyoo,\n MetaAI,\n OpenaiChat,\n PerplexityLabs,\n Pi,\n Pizzagpt,\n Reka,\n Replicate,\n ReplicateHome,\n TeachAnything,\n You,\n)\n\n\n@dataclass(unsafe_hash=True)\nclass Model:\n \"\"\"\n Represents a machine learning model configuration.\n\n Attributes:\n name (str): Name of the model.\n base_provider (str): Default provider for the model.\n best_provider (ProviderType): The preferred provider for the model, typically with retry logic.\n \"\"\"\n name: str\n base_provider: str\n best_provider: ProviderType = None\n\n @staticmethod\n def __all__() -> list[str]:\n \"\"\"Returns a list of all model names.\"\"\"\n return _all_models\n\ndefault = Model(\n name = \"\",\n base_provider = \"\",\n best_provider = IterListProvider([\n Bing,\n You,\n OpenaiChat,\n FreeChatgpt,\n AI365VIP,\n Chatgpt4o,\n DDG,\n ChatgptFree,\n Koala,\n Pizzagpt,\n ])\n)\n\n# GPT-3.5 too, but all providers supports long requests and responses\ngpt_35_long = Model(\n name = 'gpt-3.5-turbo',\n base_provider = 'openai',\n best_provider = IterListProvider([\n FreeGpt,\n You,\n Koala,\n ChatgptFree,\n FreeChatgpt,\n DDG,\n AI365VIP,\n Pizzagpt,\n Allyfy,\n ])\n)\n\n############\n### Text ###\n############\n\n### OpenAI ###\n### GPT-3.5 / GPT-4 ###\n# gpt-3.5\ngpt_35_turbo = Model(\n name = 'gpt-3.5-turbo',\n base_provider = 'openai',\n best_provider = IterListProvider([\n FreeGpt,\n You,\n Koala,\n ChatgptFree,\n FreeChatgpt,\n AI365VIP,\n Pizzagpt,\n Allyfy,\n ])\n)\n\n# gpt-4\ngpt_4 = Model(\n name = 'gpt-4',\n base_provider = 'openai',\n best_provider = IterListProvider([\n Bing, Chatgpt4Online\n ])\n)\n\ngpt_4_turbo = Model(\n name = 'gpt-4-turbo',\n base_provider = 'openai',\n best_provider = IterListProvider([\n Bing, Liaobots, LiteIcoding\n ])\n)\ngpt_4o = Model(\n name = 'gpt-4o',\n base_provider = 'openai',\n best_provider = IterListProvider([\n You, Liaobots, Chatgpt4o, AI365VIP, OpenaiChat, Marsyoo, LiteIcoding, MagickPenAsk,\n ])\n)\n\ngpt_4o_mini = Model(\n name = 'gpt-4o-mini',\n base_provider = 'openai',\n best_provider = IterListProvider([\n DDG, Liaobots, OpenaiChat, You, FreeNetfly, MagickPenChat,\n ])\n)\n\n\n### GigaChat ###\ngigachat = Model(\n name = 'GigaChat:latest',\n base_provider = 'gigachat',\n best_provider = GigaChat\n)\n\n\n### Meta ###\nmeta = Model(\n name = \"meta\",\n base_provider = \"meta\",\n best_provider = MetaAI\n)\n\nllama_3_8b_instruct = Model(\n name = \"meta-llama/Meta-Llama-3-8B-Instruct\",\n base_provider = \"meta\",\n best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate])\n)\n\nllama_3_70b_instruct = Model(\n name = \"meta-llama/Meta-Llama-3-70B-Instruct\",\n base_provider = \"meta\",\n best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate])\n)\n\nllama_3_70b_instruct = Model(\n name = \"meta/meta-llama-3-70b-instruct\",\n base_provider = \"meta\",\n best_provider = IterListProvider([ReplicateHome, TeachAnything])\n)\n\nllama_3_70b_chat_hf = Model(\n name = \"meta-llama/Llama-3-70b-chat-hf\",\n base_provider = \"meta\",\n best_provider = IterListProvider([DDG])\n)\n\nllama_3_1_70b_instruct = Model(\n name = \"meta-llama/Meta-Llama-3.1-70B-Instruct\",\n base_provider = \"meta\",\n best_provider = IterListProvider([HuggingChat, HuggingFace])\n)\n\nllama_3_1_405b_instruct_FP8 = Model(\n name = \"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8\",\n base_provider = \"meta\",\n best_provider = IterListProvider([HuggingChat, HuggingFace])\n)\n\n\n### Mistral ###\nmixtral_8x7b = Model(\n name = \"mistralai/Mixtral-8x7B-Instruct-v0.1\",\n base_provider = \"huggingface\",\n best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs, HuggingChat, DDG, ReplicateHome])\n)\n\nmistral_7b_v02 = Model(\n name = \"mistralai/Mistral-7B-Instruct-v0.2\",\n base_provider = \"huggingface\",\n best_provider = IterListProvider([DeepInfra, HuggingFace, HuggingChat])\n)\n\n\n### NousResearch ###\nNous_Hermes_2_Mixtral_8x7B_DPO = Model(\n name = \"NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO\",\n base_provider = \"NousResearch\",\n best_provider = IterListProvider([HuggingFace, HuggingChat])\n)\n\n\n### 01-ai ###\nYi_1_5_34B_chat = Model(\n name = \"01-ai/Yi-1.5-34B-Chat\",\n base_provider = \"01-ai\",\n best_provider = IterListProvider([HuggingFace, HuggingChat])\n)\n\n\n### Microsoft ###\nPhi_3_mini_4k_instruct = Model(\n name = \"microsoft/Phi-3-mini-4k-instruct\",\n base_provider = \"Microsoft\",\n best_provider = IterListProvider([HuggingFace, HuggingChat])\n)\n\n\n### Google ###\n# gemini\ngemini = Model(\n name = 'gemini',\n base_provider = 'Google',\n best_provider = Gemini\n)\n\ngemini_pro = Model(\n name = 'gemini-pro',\n base_provider = 'Google',\n best_provider = IterListProvider([GeminiPro, You, ChatGot, GeminiProChat, Liaobots, LiteIcoding])\n)\n\ngemini_flash = Model(\n name = 'gemini-flash',\n base_provider = 'Google',\n best_provider = IterListProvider([Liaobots])\n)\n\ngemini_1_5 = Model(\n name = 'gemini-1.5',\n base_provider = 'Google',\n best_provider = IterListProvider([LiteIcoding])\n)\n\n# gemma\ngemma_2b_it = Model(\n name = 'gemma-2b-it',\n base_provider = 'Google',\n best_provider = IterListProvider([ReplicateHome])\n)\n\ngemma_2_9b_it = Model(\n name = 'gemma-2-9b-it',\n base_provider = 'Google',\n best_provider = IterListProvider([PerplexityLabs])\n)\n\ngemma_2_27b_it = Model(\n name = 'gemma-2-27b-it',\n base_provider = 'Google',\n best_provider = IterListProvider([PerplexityLabs])\n)\n\n\n### Anthropic ###\nclaude_2 = Model(\n name = 'claude-2',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([You])\n)\n\nclaude_2_0 = Model(\n name = 'claude-2.0',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([Liaobots])\n)\n\nclaude_2_1 = Model(\n name = 'claude-2.1',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([Liaobots])\n)\n\nclaude_3_opus = Model(\n name = 'claude-3-opus',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([You, Liaobots])\n)\n\nclaude_3_sonnet = Model(\n name = 'claude-3-sonnet',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([You, Liaobots])\n)\n\nclaude_3_5_sonnet = Model(\n name = 'claude-3-5-sonnet',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([Liaobots])\n)\n\nclaude_3_haiku = Model(\n name = 'claude-3-haiku',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([DDG, AI365VIP, Liaobots])\n)\n\nclaude_3 = Model(\n name = 'claude-3',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([LiteIcoding])\n)\n\nclaude_3_5 = Model(\n name = 'claude-3.5',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([LiteIcoding])\n)\n\n\n### Reka AI ###\nreka_core = Model(\n name = 'reka-core',\n base_provider = 'Reka AI',\n best_provider = Reka\n)\n\n\n### NVIDIA ###\nnemotron_4_340b_instruct = Model(\n name = 'nemotron-4-340b-instruct',\n base_provider = 'NVIDIA',\n best_provider = IterListProvider([PerplexityLabs])\n)\n\n\n### Blackbox ###\nblackbox = Model(\n name = 'blackbox',\n base_provider = 'Blackbox',\n best_provider = Blackbox\n)\n\n\n### Databricks ###\ndbrx_instruct = Model(\n name = 'databricks/dbrx-instruct',\n base_provider = 'Databricks',\n best_provider = IterListProvider([DeepInfra])\n)\n\n\n### CohereForAI ###\ncommand_r_plus = Model(\n name = 'CohereForAI/c4ai-command-r-plus',\n base_provider = 'CohereForAI',\n best_provider = IterListProvider([HuggingChat])\n)\n\n\n### iFlytek ###\nSparkDesk_v1_1 = Model(\n name = 'SparkDesk-v1.1',\n base_provider = 'iFlytek',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n\n### DeepSeek ###\ndeepseek_coder = Model(\n name = 'deepseek-coder',\n base_provider = 'DeepSeek',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\ndeepseek_chat = Model(\n name = 'deepseek-chat',\n base_provider = 'DeepSeek',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n\n### Qwen ###\nQwen2_7B_instruct = Model(\n name = 'Qwen2-7B-Instruct',\n base_provider = 'Qwen',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n\n### Zhipu AI ###\nglm4_9B_chat = Model(\n name = 'glm4-9B-chat',\n base_provider = 'Zhipu AI',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\nchatglm3_6B = Model(\n name = 'chatglm3-6B',\n base_provider = 'Zhipu AI',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n\n### 01-ai ###\nYi_1_5_9B_chat = Model(\n name = 'Yi-1.5-9B-Chat',\n base_provider = '01-ai',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n\n### Other ###\npi = Model(\n name = 'pi',\n base_provider = 'inflection',\n best_provider = Pi\n)\n\n\n#############\n### Image ###\n#############\n\n### Stability AI ###\nsdxl = Model(\n name = 'stability-ai/sdxl',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([DeepInfraImage])\n \n)\n\nstable_diffusion_3 = Model(\n name = 'stability-ai/stable-diffusion-3',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\nsdxl_lightning_4step = Model(\n name = 'bytedance/sdxl-lightning-4step',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\nplayground_v2_5_1024px_aesthetic = Model(\n name = 'playgroundai/playground-v2.5-1024px-aesthetic',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\nclass ModelUtils:\n \"\"\"\n Utility class for mapping string identifiers to Model instances.\n\n Attributes:\n convert (dict[str, Model]): Dictionary mapping model string identifiers to Model instances.\n \"\"\"\n convert: dict[str, Model] = {\n \n ############\n ### Text ###\n ############\n \n ### OpenAI ###\n ### GPT-3.5 / GPT-4 ###\n # gpt-3.5\n 'gpt-3.5-turbo': gpt_35_turbo,\n 'gpt-3.5-long': gpt_35_long,\n\n # gpt-4\n 'gpt-4o' : gpt_4o,\n 'gpt-4o-mini' : gpt_4o_mini,\n 'gpt-4' : gpt_4,\n 'gpt-4-turbo' : gpt_4_turbo,\n \n ### Meta ###\n \"meta-ai\": meta,\n \n 'llama-3-8b-instruct': llama_3_8b_instruct,\n 'llama-3-70b-instruct': llama_3_70b_instruct,\n 'llama-3-70b-chat': llama_3_70b_chat_hf, \n 'llama-3-70b-instruct': llama_3_70b_instruct, \n 'llama-3.1-70b-instruct': llama_3_1_70b_instruct,\n 'llama-3.1-405b-instruct': llama_3_1_405b_instruct_FP8,\n \n ### Mistral (Opensource) ###\n 'mixtral-8x7b': mixtral_8x7b,\n 'mistral-7b-v02': mistral_7b_v02,\n \n ### NousResearch ###\n 'Nous-Hermes-2-Mixtral-8x7B-DPO': Nous_Hermes_2_Mixtral_8x7B_DPO,\n\n ### 01-ai ###\n 'Yi-1.5-34b-chat': Yi_1_5_34B_chat,\n \n ### Microsoft ###\n 'Phi-3-mini-4k-instruct': Phi_3_mini_4k_instruct,\n\n ### Google ###\n # gemini\n 'gemini': gemini,\n 'gemini-pro': gemini_pro,\n 'gemini-pro': gemini_1_5,\n 'gemini-flash': gemini_flash,\n \n # gemma\n 'gemma-2b': gemma_2b_it,\n 'gemma-2-9b': gemma_2_9b_it,\n 'gemma-2-27b': gemma_2_27b_it,\n\n ### Anthropic ###\n 'claude-2': claude_2,\n 'claude-2.0': claude_2_0,\n 'claude-2.1': claude_2_1,\n \n 'claude-3-opus': claude_3_opus,\n 'claude-3-sonnet': claude_3_sonnet,\n 'claude-3-5-sonnet': claude_3_5_sonnet,\n 'claude-3-haiku': claude_3_haiku,\n \n 'claude-3-opus': claude_3,\n 'claude-3-5-sonnet': claude_3_5,\n \n \n\n ### Reka AI ###\n 'reka': reka_core,\n\n ### NVIDIA ###\n 'nemotron-4-340b-instruct': nemotron_4_340b_instruct,\n \n ### Blackbox ###\n 'blackbox': blackbox,\n \n ### CohereForAI ###\n 'command-r+': command_r_plus,\n \n ### Databricks ###\n 'dbrx-instruct': dbrx_instruct,\n\n ### GigaChat ###\n 'gigachat': gigachat,\n \n ### iFlytek ###\n 'SparkDesk-v1.1': SparkDesk_v1_1,\n \n ### DeepSeek ###\n 'deepseek-coder': deepseek_coder,\n 'deepseek-chat': deepseek_chat,\n \n ### Qwen ###\n 'Qwen2-7b-instruct': Qwen2_7B_instruct,\n \n ### Zhipu AI ###\n 'glm4-9b-chat': glm4_9B_chat,\n 'chatglm3-6b': chatglm3_6B,\n \n ### 01-ai ###\n 'Yi-1.5-9b-chat': Yi_1_5_9B_chat,\n \n # Other\n 'pi': pi,\n \n #############\n ### Image ###\n #############\n \n ### Stability AI ###\n 'sdxl': sdxl,\n 'stable-diffusion-3': stable_diffusion_3,\n \n ### ByteDance ###\n 'sdxl-lightning': sdxl_lightning_4step,\n \n ### Playground ###\n 'playground-v2.5': playground_v2_5_1024px_aesthetic,\n\n }\n\n_all_models = list(ModelUtils.convert.keys())\n"}}}}