diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2024-09-16 00:37:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-16 00:37:30 +0200 |
commit | cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2 (patch) | |
tree | 25ef52b8c5496ca22ce8eaa82bc885313962ba29 /g4f/models.py | |
parent | Merge pull request #2207 from kqlio67/main (diff) | |
parent | refactor(ReplicateHome): update model handling and API interaction (diff) | |
download | gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar.gz gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar.bz2 gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar.lz gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar.xz gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.tar.zst gpt4free-cc80f2d3159ca0b6f6bfa2c36c4be87bc96209b2.zip |
Diffstat (limited to 'g4f/models.py')
-rw-r--r-- | g4f/models.py | 243 |
1 files changed, 184 insertions, 59 deletions
diff --git a/g4f/models.py b/g4f/models.py index ddbeeddf..877f6d42 100644 --- a/g4f/models.py +++ b/g4f/models.py @@ -5,6 +5,7 @@ from dataclasses import dataclass from .Provider import IterListProvider, ProviderType from .Provider import ( AiChatOnline, + Airforce, Allyfy, Bing, Binjie, @@ -18,7 +19,6 @@ from .Provider import ( DDG, DeepInfra, DeepInfraImage, - FluxAirforce, Free2GPT, FreeChatgpt, FreeGpt, @@ -105,7 +105,7 @@ gpt_35_turbo = Model( name = 'gpt-3.5-turbo', base_provider = 'OpenAI', best_provider = IterListProvider([ - Allyfy, TwitterBio, Nexra, Bixin123, CodeNews, + Allyfy, TwitterBio, Nexra, Bixin123, CodeNews, Airforce, ]) ) @@ -114,7 +114,8 @@ gpt_4o = Model( name = 'gpt-4o', base_provider = 'OpenAI', best_provider = IterListProvider([ - Liaobots, Chatgpt4o, OpenaiChat, + Liaobots, Chatgpt4o, Airforce, + OpenaiChat, ]) ) @@ -122,8 +123,8 @@ gpt_4o_mini = Model( name = 'gpt-4o-mini', base_provider = 'OpenAI', best_provider = IterListProvider([ - DDG, Liaobots, You, FreeNetfly, Pizzagpt, ChatgptFree, AiChatOnline, CodeNews, - MagickPen, OpenaiChat, Koala, + DDG, Liaobots, You, FreeNetfly, Pizzagpt, ChatgptFree, AiChatOnline, CodeNews, MagickPen, Airforce, + OpenaiChat, Koala, ]) ) @@ -131,7 +132,7 @@ gpt_4_turbo = Model( name = 'gpt-4-turbo', base_provider = 'OpenAI', best_provider = IterListProvider([ - Nexra, Bixin123, Liaobots, Bing + Nexra, Bixin123, Liaobots, Airforce, Bing ]) ) @@ -139,7 +140,7 @@ gpt_4 = Model( name = 'gpt-4', base_provider = 'OpenAI', best_provider = IterListProvider([ - Chatgpt4Online, Nexra, Binjie, Bing, + Chatgpt4Online, Nexra, Binjie, Airforce, Bing, gpt_4_turbo.best_provider, gpt_4o.best_provider, gpt_4o_mini.best_provider ]) ) @@ -159,54 +160,74 @@ meta = Model( best_provider = MetaAI ) +llama_2_13b = Model( + name = "llama-2-13b", + base_provider = "Meta", + best_provider = IterListProvider([Airforce]) +) + llama_3_8b = Model( name = "llama-3-8b", base_provider = "Meta", - best_provider = IterListProvider([DeepInfra, Replicate]) + best_provider = IterListProvider([Airforce, DeepInfra, Replicate]) ) llama_3_70b = Model( name = "llama-3-70b", base_provider = "Meta", - best_provider = IterListProvider([ReplicateHome, DeepInfra, PerplexityLabs, Replicate]) + best_provider = IterListProvider([ReplicateHome, Airforce, DeepInfra, Replicate]) ) llama_3_1_8b = Model( name = "llama-3.1-8b", base_provider = "Meta", - best_provider = IterListProvider([Blackbox]) + best_provider = IterListProvider([Blackbox, Airforce, PerplexityLabs]) ) llama_3_1_70b = Model( name = "llama-3.1-70b", base_provider = "Meta", - best_provider = IterListProvider([DDG, HuggingChat, FreeGpt, Blackbox, TeachAnything, Free2GPT, HuggingFace]) + best_provider = IterListProvider([DDG, HuggingChat, FreeGpt, Blackbox, TeachAnything, Free2GPT, Airforce, HuggingFace, PerplexityLabs]) ) llama_3_1_405b = Model( name = "llama-3.1-405b", base_provider = "Meta", - best_provider = IterListProvider([HuggingChat, Blackbox, HuggingFace]) + best_provider = IterListProvider([Blackbox, Airforce]) ) + ### Mistral ### +mistral_7b = Model( + name = "mistral-7b", + base_provider = "Mistral", + best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace, DeepInfra]) +) + mixtral_8x7b = Model( name = "mixtral-8x7b", base_provider = "Mistral", - best_provider = IterListProvider([HuggingChat, DDG, ReplicateHome, TwitterBio, DeepInfra, HuggingFace,]) + best_provider = IterListProvider([HuggingChat, DDG, ReplicateHome, TwitterBio, Airforce, DeepInfra, HuggingFace]) ) -mistral_7b = Model( - name = "mistral-7b", +mixtral_8x22b = Model( + name = "mixtral-8x22b", base_provider = "Mistral", - best_provider = IterListProvider([HuggingChat, HuggingFace, DeepInfra]) + best_provider = IterListProvider([Airforce]) ) -### 01-ai ### -yi_1_5_34b = Model( - name = "yi-1.5-34b", - base_provider = "01-ai", - best_provider = IterListProvider([HuggingChat, HuggingFace]) + +### NousResearch ### +mixtral_8x7b_dpo = Model( + name = "mixtral-8x7b-dpo", + base_provider = "NousResearch", + best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace]) +) + +yi_34b = Model( + name = 'yi-34b', + base_provider = 'NousResearch', + best_provider = IterListProvider([Airforce]) ) @@ -214,35 +235,51 @@ yi_1_5_34b = Model( phi_3_mini_4k = Model( name = "phi-3-mini-4k", base_provider = "Microsoft", - best_provider = IterListProvider([HuggingFace, HuggingChat]) + best_provider = IterListProvider([HuggingChat, HuggingFace]) ) ### Google ### # gemini -gemini = Model( - name = 'gemini', - base_provider = 'Google', - best_provider = Gemini -) - gemini_pro = Model( name = 'gemini-pro', base_provider = 'Google', - best_provider = IterListProvider([GeminiPro, ChatGot, Liaobots]) + best_provider = IterListProvider([GeminiPro, ChatGot, Liaobots, Airforce]) ) gemini_flash = Model( name = 'gemini-flash', base_provider = 'Google', - best_provider = IterListProvider([Liaobots, Blackbox]) + best_provider = IterListProvider([Blackbox, Liaobots, Airforce]) +) + +gemini = Model( + name = 'gemini', + base_provider = 'Google', + best_provider = IterListProvider([ + Gemini, + gemini_flash.best_provider, gemini_pro.best_provider + ]) ) + # gemma gemma_2b = Model( name = 'gemma-2b', base_provider = 'Google', - best_provider = IterListProvider([ReplicateHome]) + best_provider = IterListProvider([ReplicateHome, Airforce]) +) + +gemma_2b_9b = Model( + name = 'gemma-2b-9b', + base_provider = 'Google', + best_provider = IterListProvider([Airforce]) +) + +gemma_2b_27b = Model( + name = 'gemma-2b-27b', + base_provider = 'Google', + best_provider = IterListProvider([Airforce]) ) ### Anthropic ### @@ -309,7 +346,7 @@ blackbox = Model( dbrx_instruct = Model( name = 'dbrx-instruct', base_provider = 'Databricks', - best_provider = IterListProvider([DeepInfra]) + best_provider = IterListProvider([Airforce, DeepInfra]) ) @@ -325,7 +362,7 @@ command_r_plus = Model( sparkdesk_v1_1 = Model( name = 'sparkdesk-v1.1', base_provider = 'iFlytek', - best_provider = IterListProvider([FreeChatgpt]) + best_provider = IterListProvider([FreeChatgpt, Airforce]) ) ### Qwen ### @@ -335,6 +372,24 @@ qwen_1_5_14b = Model( best_provider = IterListProvider([FreeChatgpt]) ) +qwen_1_5_72b = Model( + name = 'qwen-1.5-72b', + base_provider = 'Qwen', + best_provider = IterListProvider([Airforce]) +) + +qwen_1_5_110b = Model( + name = 'qwen-1.5-110b', + base_provider = 'Qwen', + best_provider = IterListProvider([Airforce]) +) + +qwen_2_72b = Model( + name = 'qwen-2-72b', + base_provider = 'Qwen', + best_provider = IterListProvider([Airforce]) +) + qwen_turbo = Model( name = 'qwen-turbo', base_provider = 'Qwen', @@ -358,7 +413,10 @@ glm_4_9b = Model( glm_4 = Model( name = 'glm-4', base_provider = 'Zhipu AI', - best_provider = IterListProvider([CodeNews, glm_4_9b.best_provider,]) + best_provider = IterListProvider([ + CodeNews, + glm_3_6b.best_provider, glm_4_9b.best_provider + ]) ) ### 01-ai ### @@ -368,14 +426,20 @@ yi_1_5_9b = Model( best_provider = IterListProvider([FreeChatgpt]) ) - -### Pi ### +### Upstage ### solar_1_mini = Model( name = 'solar-1-mini', base_provider = 'Upstage', best_provider = IterListProvider([Upstage]) ) +solar_10_7b = Model( + name = 'solar-10-7b', + base_provider = 'Upstage', + best_provider = Airforce +) + + ### Pi ### pi = Model( name = 'pi', @@ -404,21 +468,33 @@ westlake_7b_v2 = Model( best_provider = Snova ) -### CookinAI ### -donutlm_v1 = Model( - name = 'donutlm-v1', - base_provider = 'CookinAI', - best_provider = Snova -) - ### DeepSeek ### deepseek = Model( name = 'deepseek', base_provider = 'DeepSeek', - best_provider = CodeNews + best_provider = IterListProvider([CodeNews, Airforce]) +) + +### WizardLM ### +wizardlm_2_8x22b = Model( + name = 'wizardlm-2-8x22b', + base_provider = 'WizardLM', + best_provider = Airforce ) +### Together ### +sh_n_7b = Model( + name = 'sh-n-7b', + base_provider = 'Together', + best_provider = Airforce +) +### Yorickvp ### +llava_13b = Model( + name = 'llava-13b', + base_provider = 'Yorickvp', + best_provider = ReplicateHome +) ############# ### Image ### @@ -451,35 +527,49 @@ playground_v2_5 = Model( flux = Model( name = 'flux', base_provider = 'Flux AI', - best_provider = IterListProvider([FluxAirforce]) + best_provider = IterListProvider([Airforce]) ) flux_realism = Model( name = 'flux-realism', base_provider = 'Flux AI', - best_provider = IterListProvider([FluxAirforce]) + best_provider = IterListProvider([Airforce]) ) flux_anime = Model( name = 'flux-anime', base_provider = 'Flux AI', - best_provider = IterListProvider([FluxAirforce]) + best_provider = IterListProvider([Airforce]) ) flux_3d = Model( name = 'flux-3d', base_provider = 'Flux AI', - best_provider = IterListProvider([FluxAirforce]) + best_provider = IterListProvider([Airforce]) ) flux_disney = Model( name = 'flux-disney', base_provider = 'Flux AI', - best_provider = IterListProvider([FluxAirforce]) + best_provider = IterListProvider([Airforce]) + +) + +flux_pixel = Model( + name = 'flux-pixel', + base_provider = 'Flux AI', + best_provider = IterListProvider([Airforce]) + +) + +flux_schnell = Model( + name = 'flux-schnell', + base_provider = 'Flux AI', + best_provider = IterListProvider([ReplicateHome]) ) @@ -491,6 +581,13 @@ dalle = Model( ) +dalle_2 = Model( + name = 'dalle-2', + base_provider = '', + best_provider = IterListProvider([Nexra]) + +) + dalle_mini = Model( name = 'dalle-mini', base_provider = '', @@ -505,6 +602,13 @@ emi = Model( ) +any_dark = Model( + name = 'any-dark', + base_provider = '', + best_provider = IterListProvider([Airforce]) + +) + class ModelUtils: """ Utility class for mapping string identifiers to Model instances. @@ -535,6 +639,9 @@ class ModelUtils: ### Meta ### "meta-ai": meta, +# llama-2 +'llama-2-13b': llama_2_13b, + # llama-3 'llama-3-8b': llama_3_8b, 'llama-3-70b': llama_3_70b, @@ -543,15 +650,18 @@ class ModelUtils: 'llama-3.1-8b': llama_3_1_8b, 'llama-3.1-70b': llama_3_1_70b, 'llama-3.1-405b': llama_3_1_405b, - + ### Mistral ### -'mixtral-8x7b': mixtral_8x7b, 'mistral-7b': mistral_7b, - - -### 01-ai ### -'yi-1.5-34b': yi_1_5_34b, +'mixtral-8x7b': mixtral_8x7b, +'mixtral-8x22b': mixtral_8x22b, + + +### NousResearch ### +'mixtral-8x7b-dpo': mixtral_8x7b_dpo, + +'yi-34b': yi_34b, ### Microsoft ### @@ -566,6 +676,8 @@ class ModelUtils: # gemma 'gemma-2b': gemma_2b, +'gemma-2b-9b': gemma_2b_9b, +'gemma-2b-27b': gemma_2b_27b, ### Anthropic ### @@ -575,8 +687,8 @@ class ModelUtils: 'claude-3-opus': claude_3_opus, 'claude-3-sonnet': claude_3_sonnet, -'claude-3-5-sonnet': claude_3_5_sonnet, 'claude-3-haiku': claude_3_haiku, +'claude-3-5-sonnet': claude_3_5_sonnet, ### Reka AI ### @@ -605,6 +717,9 @@ class ModelUtils: ### Qwen ### 'qwen-1.5-14b': qwen_1_5_14b, +'qwen-1.5-72b': qwen_1_5_72b, +'qwen-1.5-110b': qwen_1_5_110b, +'qwen-2-72b': qwen_2_72b, 'qwen-turbo': qwen_turbo, @@ -620,6 +735,7 @@ class ModelUtils: ### Upstage ### 'solar-1-mini': solar_1_mini, +'solar-10-7b': solar_10_7b, ### Pi ### @@ -638,11 +754,16 @@ class ModelUtils: 'westlake-7b-v2': westlake_7b_v2, -### CookinAI ### -'donutlm-v1': donutlm_v1, - ### DeepSeek ### 'deepseek': deepseek, + + +### Together ### +'sh-n-7b': sh_n_7b, + + +### Yorickvp ### +'llava-13b': llava_13b, @@ -665,12 +786,16 @@ class ModelUtils: 'flux-anime': flux_anime, 'flux-3d': flux_3d, 'flux-disney': flux_disney, +'flux-pixel': flux_pixel, +'flux-schnell': flux_schnell, ### ### 'dalle': dalle, +'dalle-2': dalle_2, 'dalle-mini': dalle_mini, 'emi': emi, +'any-dark': any_dark, } _all_models = list(ModelUtils.convert.keys()) |