Files

1 line
17 KiB
JSON

{"repo": "alexeyvolovinin/tpg4", "files": {"g4f/models.py": {"b5f139302c5f3a5a2203218b6fc850d3fcb00818": {"t": 1785846917.671642, "n": 15848, "h": "062e83f76fdc7897", "c": "from __future__ import annotations\n\nfrom dataclasses import dataclass\n\nfrom .Provider import IterListProvider, ProviderType\nfrom .Provider import (\n AiChatOnline,\n Airforce,\n Allyfy,\n Bing,\n Binjie,\n Bixin123,\n Blackbox,\n ChatGot,\n Chatgpt4Online,\n ChatGpt,\n Chatgpt4o,\n ChatgptFree,\n CodeNews,\n DDG,\n DeepInfra,\n DeepInfraImage,\n Free2GPT,\n FreeChatgpt,\n FreeGpt,\n FreeNetfly,\n Gemini,\n GeminiPro,\n GigaChat,\n HuggingChat,\n HuggingFace,\n Koala,\n Liaobots,\n MagickPen,\n MetaAI,\n Nexra,\n OpenaiChat,\n PerplexityLabs,\n Pi,\n Pizzagpt,\n Reka,\n Replicate,\n ReplicateHome,\n Snova,\n TeachAnything,\n TwitterBio,\n Upstage,\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 DDG,\n FreeChatgpt,\n HuggingChat,\n Pizzagpt,\n ChatgptFree,\n ReplicateHome,\n Upstage,\n Blackbox,\n Bixin123,\n Binjie,\n Free2GPT,\n MagickPen,\n ])\n)\n\n############\n### Text ###\n############\n\n### OpenAI ###\n# gpt-3\ngpt_3 = Model(\n name = 'gpt-3',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n Nexra,\n ])\n)\n\n# gpt-3.5\ngpt_35_turbo = Model(\n name = 'gpt-3.5-turbo',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n Allyfy, TwitterBio, Nexra, Bixin123, CodeNews, Airforce,\n ])\n)\n\n# gpt-4\ngpt_4o = Model(\n name = 'gpt-4o',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n Liaobots, Chatgpt4o, Airforce, \n OpenaiChat\n ])\n)\n\ngpt_4o_mini = Model(\n name = 'gpt-4o-mini',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n DDG, Liaobots, You, FreeNetfly, Pizzagpt, ChatgptFree, AiChatOnline, CodeNews, MagickPen, Airforce, \n OpenaiChat, Koala, ChatGpt \n ])\n)\n\ngpt_4_turbo = Model(\n name = 'gpt-4-turbo',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n Nexra, Bixin123, Liaobots, Airforce, Bing\n ])\n)\n\ngpt_4 = Model(\n name = 'gpt-4',\n base_provider = 'OpenAI',\n best_provider = IterListProvider([\n Chatgpt4Online, Nexra, Binjie, Airforce, Bing,\n gpt_4_turbo.best_provider, gpt_4o.best_provider, gpt_4o_mini.best_provider\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-ai\",\n base_provider = \"Meta\",\n best_provider = MetaAI\n)\n\nllama_2_13b = Model(\n name = \"llama-2-13b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([Airforce])\n)\n\nllama_3_8b = Model(\n name = \"llama-3-8b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([Airforce, DeepInfra, Replicate])\n)\n\nllama_3_70b = Model(\n name = \"llama-3-70b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([ReplicateHome, Airforce, DeepInfra, Replicate])\n)\n\nllama_3_1_8b = Model(\n name = \"llama-3.1-8b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([Blackbox, Airforce, PerplexityLabs])\n)\n\nllama_3_1_70b = Model(\n name = \"llama-3.1-70b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([DDG, HuggingChat, FreeGpt, Blackbox, TeachAnything, Free2GPT, Airforce, HuggingFace, PerplexityLabs])\n)\n\nllama_3_1_405b = Model(\n name = \"llama-3.1-405b\",\n base_provider = \"Meta\",\n best_provider = IterListProvider([Blackbox, Airforce])\n)\n\n\n### Mistral ###\nmistral_7b = Model(\n name = \"mistral-7b\",\n base_provider = \"Mistral\",\n best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace, DeepInfra])\n)\n\nmixtral_8x7b = Model(\n name = \"mixtral-8x7b\",\n base_provider = \"Mistral\",\n best_provider = IterListProvider([HuggingChat, DDG, ReplicateHome, TwitterBio, Airforce, DeepInfra, HuggingFace])\n)\n\nmixtral_8x22b = Model(\n name = \"mixtral-8x22b\",\n base_provider = \"Mistral\",\n best_provider = IterListProvider([Airforce])\n)\n\n\n### NousResearch ###\nmixtral_8x7b_dpo = Model(\n name = \"mixtral-8x7b-dpo\",\n base_provider = \"NousResearch\",\n best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace])\n)\n\nyi_34b = Model(\n name = 'yi-34b',\n base_provider = 'NousResearch',\n best_provider = IterListProvider([Airforce])\n)\n\n\n### Microsoft ###\nphi_3_mini_4k = Model(\n name = \"phi-3-mini-4k\",\n base_provider = \"Microsoft\",\n best_provider = IterListProvider([HuggingChat, HuggingFace])\n)\n\n\n### Google ###\n# gemini\ngemini_pro = Model(\n name = 'gemini-pro',\n base_provider = 'Google',\n best_provider = IterListProvider([GeminiPro, ChatGot, Liaobots, Airforce])\n)\n\ngemini_flash = Model(\n name = 'gemini-flash',\n base_provider = 'Google',\n best_provider = IterListProvider([Blackbox, Liaobots, Airforce])\n)\n\ngemini = Model(\n name = 'gemini',\n base_provider = 'Google',\n best_provider = IterListProvider([\n Gemini, \n gemini_flash.best_provider, gemini_pro.best_provider\n ])\n)\n\n\n# gemma\ngemma_2b = Model(\n name = 'gemma-2b',\n base_provider = 'Google',\n best_provider = IterListProvider([ReplicateHome, Airforce])\n)\n\ngemma_2b_9b = Model(\n name = 'gemma-2b-9b',\n base_provider = 'Google',\n best_provider = IterListProvider([Airforce])\n)\n\ngemma_2b_27b = Model(\n name = 'gemma-2b-27b',\n base_provider = 'Google',\n best_provider = IterListProvider([Airforce])\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([Liaobots])\n)\n\nclaude_3_sonnet = Model(\n name = 'claude-3-sonnet',\n base_provider = 'Anthropic',\n best_provider = IterListProvider([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, Liaobots])\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### Blackbox ###\nblackbox = Model(\n name = 'blackbox',\n base_provider = 'Blackbox',\n best_provider = Blackbox\n)\n\n\n### Databricks ###\ndbrx_instruct = Model(\n name = 'dbrx-instruct',\n base_provider = 'Databricks',\n best_provider = IterListProvider([Airforce, DeepInfra])\n)\n\n\n### CohereForAI ###\ncommand_r_plus = Model(\n name = '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, Airforce])\n)\n\n### Qwen ###\nqwen_1_5_14b = Model(\n name = 'qwen-1.5-14b',\n base_provider = 'Qwen',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\nqwen_1_5_72b = Model(\n name = 'qwen-1.5-72b',\n base_provider = 'Qwen',\n best_provider = IterListProvider([Airforce])\n)\n\nqwen_1_5_110b = Model(\n name = 'qwen-1.5-110b',\n base_provider = 'Qwen',\n best_provider = IterListProvider([Airforce])\n)\n\nqwen_2_72b = Model(\n name = 'qwen-2-72b',\n base_provider = 'Qwen',\n best_provider = IterListProvider([Airforce])\n)\n\nqwen_turbo = Model(\n name = 'qwen-turbo',\n base_provider = 'Qwen',\n best_provider = IterListProvider([Bixin123])\n)\n\n\n### Zhipu AI ###\nglm_3_6b = Model(\n name = 'glm-3-6b',\n base_provider = 'Zhipu AI',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\nglm_4_9b = Model(\n name = 'glm-4-9B',\n base_provider = 'Zhipu AI',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\nglm_4 = Model(\n name = 'glm-4',\n base_provider = 'Zhipu AI',\n best_provider = IterListProvider([\n CodeNews, \n glm_3_6b.best_provider, glm_4_9b.best_provider\n ])\n)\n\n### 01-ai ###\nyi_1_5_9b = Model(\n name = 'yi-1.5-9b',\n base_provider = '01-ai',\n best_provider = IterListProvider([FreeChatgpt])\n)\n\n### Upstage ###\nsolar_1_mini = Model(\n name = 'solar-1-mini',\n base_provider = 'Upstage',\n best_provider = IterListProvider([Upstage])\n)\n\nsolar_10_7b = Model(\n name = 'solar-10-7b',\n base_provider = 'Upstage',\n best_provider = Airforce\n)\n\n\n### Pi ###\npi = Model(\n name = 'pi',\n base_provider = 'inflection',\n best_provider = Pi\n)\n\n### SambaNova ###\nsamba_coe_v0_1 = Model(\n name = 'samba-coe-v0.1',\n base_provider = 'SambaNova',\n best_provider = Snova\n)\n\n### Trong-Hieu Nguyen-Mau ###\nv1olet_merged_7b = Model(\n name = 'v1olet-merged-7b',\n base_provider = 'Trong-Hieu Nguyen-Mau',\n best_provider = Snova\n)\n\n### Macadeliccc ###\nwestlake_7b_v2 = Model(\n name = 'westlake-7b-v2',\n base_provider = 'Macadeliccc',\n best_provider = Snova\n)\n\n### DeepSeek ###\ndeepseek = Model(\n name = 'deepseek',\n base_provider = 'DeepSeek',\n best_provider = IterListProvider([CodeNews, Airforce])\n)\n\n### WizardLM ###\nwizardlm_2_8x22b = Model(\n name = 'wizardlm-2-8x22b',\n base_provider = 'WizardLM',\n best_provider = Airforce\n)\n\n### Together ###\nsh_n_7b = Model(\n name = 'sh-n-7b',\n base_provider = 'Together',\n best_provider = Airforce\n)\n\n### Yorickvp ###\nllava_13b = Model(\n name = 'llava-13b',\n base_provider = 'Yorickvp',\n best_provider = ReplicateHome\n)\n\n#############\n### Image ###\n#############\n\n### Stability AI ###\nsdxl = Model(\n name = 'sdxl',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome, DeepInfraImage])\n \n)\n\nsd_3 = Model(\n name = 'sd-3',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\n### Playground ###\nplayground_v2_5 = Model(\n name = 'playground-v2.5',\n base_provider = 'Stability AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\n### Flux AI ###\nflux = Model(\n name = 'flux',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_realism = Model(\n name = 'flux-realism',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_anime = Model(\n name = 'flux-anime',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_3d = Model(\n name = 'flux-3d',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_disney = Model(\n name = 'flux-disney',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_pixel = Model(\n name = 'flux-pixel',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([Airforce])\n \n)\n\nflux_schnell = Model(\n name = 'flux-schnell',\n base_provider = 'Flux AI',\n best_provider = IterListProvider([ReplicateHome])\n \n)\n\n### ###\ndalle = Model(\n name = 'dalle',\n base_provider = '',\n best_provider = IterListProvider([Nexra])\n \n)\n\ndalle_2 = Model(\n name = 'dalle-2',\n base_provider = '',\n best_provider = IterListProvider([Nexra])\n \n)\n\ndalle_mini = Model(\n name = 'dalle-mini',\n base_provider = '',\n best_provider = IterListProvider([Nexra])\n \n)\n\nemi = Model(\n name = 'emi',\n base_provider = '',\n best_provider = IterListProvider([Nexra])\n \n)\n\nany_dark = Model(\n name = 'any-dark',\n base_provider = '',\n best_provider = IterListProvider([Airforce])\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\n'gpt-3': gpt_3,\n\n# gpt-3.5\n'gpt-3.5-turbo': gpt_35_turbo,\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 \n### Meta ###\n\"meta-ai\": meta,\n\n# llama-2\n'llama-2-13b': llama_2_13b,\n\n# llama-3\n'llama-3-8b': llama_3_8b,\n'llama-3-70b': llama_3_70b,\n \n# llama-3.1\n'llama-3.1-8b': llama_3_1_8b,\n'llama-3.1-70b': llama_3_1_70b,\n'llama-3.1-405b': llama_3_1_405b,\n \n \n### Mistral ###\n'mistral-7b': mistral_7b,\n'mixtral-8x7b': mixtral_8x7b,\n'mixtral-8x22b': mixtral_8x22b,\n \n \n### NousResearch ###\n'mixtral-8x7b-dpo': mixtral_8x7b_dpo, \n \n'yi-34b': yi_34b, \n \n \n### Microsoft ###\n'phi-3-mini-4k': phi_3_mini_4k,\n\n\n### Google ###\n# gemini\n'gemini': gemini,\n'gemini-pro': gemini_pro,\n'gemini-flash': gemini_flash,\n \n# gemma\n'gemma-2b': gemma_2b,\n'gemma-2b-9b': gemma_2b_9b,\n'gemma-2b-27b': gemma_2b_27b,\n\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-haiku': claude_3_haiku,\n'claude-3-5-sonnet': claude_3_5_sonnet,\n \n \n### Reka AI ###\n'reka-core': reka_core,\n \n \n### Blackbox ###\n'blackbox': blackbox,\n \n \n### CohereForAI ###\n'command-r+': command_r_plus,\n \n \n### Databricks ###\n'dbrx-instruct': dbrx_instruct,\n\n\n### GigaChat ###\n'gigachat': gigachat,\n \n \n### iFlytek ###\n'sparkdesk-v1.1': sparkdesk_v1_1,\n \n \n### Qwen ###\n'qwen-1.5-14b': qwen_1_5_14b,\n'qwen-1.5-72b': qwen_1_5_72b,\n'qwen-1.5-110b': qwen_1_5_110b,\n'qwen-2-72b': qwen_2_72b,\n'qwen-turbo': qwen_turbo,\n \n \n### Zhipu AI ###\n'glm-3-6b': glm_3_6b,\n'glm-4-9b': glm_4_9b,\n'glm-4': glm_4,\n \n \n### 01-ai ###\n'yi-1.5-9b': yi_1_5_9b,\n \n \n### Upstage ###\n'solar-1-mini': solar_1_mini,\n'solar-10-7b': solar_10_7b,\n\n\n### Pi ###\n'pi': pi,\n\n\n### SambaNova ###\n'samba-coe-v0.1': samba_coe_v0_1,\n\n\n### Trong-Hieu Nguyen-Mau ###\n'v1olet-merged-7b': v1olet_merged_7b,\n\n\n### Macadeliccc ###\n'westlake-7b-v2': westlake_7b_v2,\n\n\n### DeepSeek ###\n'deepseek': deepseek,\n\n\n### Together ###\n'sh-n-7b': sh_n_7b,\n \n \n### Yorickvp ###\n'llava-13b': llava_13b,\n \n \n \n#############\n### Image ###\n#############\n \n### Stability AI ###\n'sdxl': sdxl,\n'sd-3': sd_3,\n \n \n### Playground ###\n'playground-v2.5': playground_v2_5,\n\n\n### Flux AI ###\n'flux': flux,\n'flux-realism': flux_realism,\n'flux-anime': flux_anime,\n'flux-3d': flux_3d,\n'flux-disney': flux_disney,\n'flux-pixel': flux_pixel,\n'flux-schnell': flux_schnell,\n\n\n### ###\n'dalle': dalle,\n'dalle-2': dalle_2,\n'dalle-mini': dalle_mini,\n'emi': emi,\n'any-dark': any_dark,\n }\n\n_all_models = list(ModelUtils.convert.keys())\n"}}}}