From 19944818724c98d2f06a10f619acf622ba0876ad Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sun, 19 May 2024 05:09:55 +0200 Subject: Update model list / providers --- g4f/models.py | 154 ++++++++++++++++++---------------------------------------- 1 file changed, 46 insertions(+), 108 deletions(-) (limited to 'g4f/models.py') diff --git a/g4f/models.py b/g4f/models.py index 0c5eaa9f..40de22ba 100644 --- a/g4f/models.py +++ b/g4f/models.py @@ -2,27 +2,27 @@ from __future__ import annotations from dataclasses import dataclass -from .Provider import RetryProvider, ProviderType +from .Provider import IterListProvider, ProviderType from .Provider import ( Aichatos, Bing, Blackbox, - Chatgpt4Online, ChatgptAi, ChatgptNext, - Cohere, Cnote, DeepInfra, + DuckDuckGo, + Ecosia, Feedough, FreeGpt, Gemini, - GeminiProChat, + GeminiPro, GigaChat, HuggingChat, HuggingFace, Koala, Liaobots, - Llama, + MetaAI, OpenaiChat, PerplexityLabs, Replicate, @@ -32,7 +32,6 @@ from .Provider import ( Reka ) - @dataclass(unsafe_hash=True) class Model: """ @@ -55,12 +54,12 @@ class Model: default = Model( name = "", base_provider = "", - best_provider = RetryProvider([ + best_provider = IterListProvider([ Bing, ChatgptAi, You, - Chatgpt4Online, - OpenaiChat + OpenaiChat, + Ecosia, ]) ) @@ -68,11 +67,14 @@ default = Model( gpt_35_long = Model( name = 'gpt-3.5-turbo', base_provider = 'openai', - best_provider = RetryProvider([ + best_provider = IterListProvider([ FreeGpt, You, ChatgptNext, OpenaiChat, + Koala, + Ecosia, + DuckDuckGo, ]) ) @@ -80,7 +82,7 @@ gpt_35_long = Model( gpt_35_turbo = Model( name = 'gpt-3.5-turbo', base_provider = 'openai', - best_provider = RetryProvider([ + best_provider = IterListProvider([ FreeGpt, You, ChatgptNext, @@ -95,7 +97,7 @@ gpt_35_turbo = Model( gpt_4 = Model( name = 'gpt-4', base_provider = 'openai', - best_provider = RetryProvider([ + best_provider = IterListProvider([ Bing, Liaobots, ]) ) @@ -103,8 +105,8 @@ gpt_4 = Model( gpt_4o = Model( name = 'gpt-4o', base_provider = 'openai', - best_provider = RetryProvider([ - You + best_provider = IterListProvider([ + You, Liaobots ]) ) @@ -120,46 +122,22 @@ gigachat = Model( best_provider = GigaChat ) -gigachat_plus = Model( - name = 'GigaChat-Plus', - base_provider = 'gigachat', - best_provider = GigaChat -) - -gigachat_pro = Model( - name = 'GigaChat-Pro', - base_provider = 'gigachat', - best_provider = GigaChat -) - -llama2_7b = Model( - name = "meta-llama/Llama-2-7b-chat-hf", - base_provider = 'meta', - best_provider = RetryProvider([Llama, DeepInfra]) -) - -llama2_13b = Model( - name = "meta-llama/Llama-2-13b-chat-hf", - base_provider = 'meta', - best_provider = RetryProvider([Llama, DeepInfra]) -) - -llama2_70b = Model( - name = "meta-llama/Llama-2-70b-chat-hf", +meta = Model( + name = "meta", base_provider = "meta", - best_provider = RetryProvider([Llama, DeepInfra]) + best_provider = MetaAI ) llama3_8b_instruct = Model( name = "meta-llama/Meta-Llama-3-8B-Instruct", base_provider = "meta", - best_provider = RetryProvider([Llama, DeepInfra, Replicate]) + best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate]) ) llama3_70b_instruct = Model( name = "meta-llama/Meta-Llama-3-70B-Instruct", base_provider = "meta", - best_provider = RetryProvider([Llama, DeepInfra]) + best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate]) ) codellama_34b_instruct = Model( @@ -171,61 +149,30 @@ codellama_34b_instruct = Model( codellama_70b_instruct = Model( name = "codellama/CodeLlama-70b-Instruct-hf", base_provider = "meta", - best_provider = RetryProvider([DeepInfra, PerplexityLabs]) + best_provider = IterListProvider([DeepInfra, PerplexityLabs]) ) # Mistral mixtral_8x7b = Model( name = "mistralai/Mixtral-8x7B-Instruct-v0.1", base_provider = "huggingface", - best_provider = RetryProvider([DeepInfra, HuggingFace, PerplexityLabs]) + best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs]) ) mistral_7b = Model( name = "mistralai/Mistral-7B-Instruct-v0.1", base_provider = "huggingface", - best_provider = RetryProvider([HuggingChat, HuggingFace, PerplexityLabs]) + best_provider = IterListProvider([HuggingChat, HuggingFace, PerplexityLabs]) ) mistral_7b_v02 = Model( name = "mistralai/Mistral-7B-Instruct-v0.2", base_provider = "huggingface", - best_provider = DeepInfra -) - -mixtral_8x22b = Model( - name = "HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1", - base_provider = "huggingface", - best_provider = DeepInfra -) - -# Misc models -dolphin_mixtral_8x7b = Model( - name = "cognitivecomputations/dolphin-2.6-mixtral-8x7b", - base_provider = "huggingface", - best_provider = DeepInfra -) - -lzlv_70b = Model( - name = "lizpreciatior/lzlv_70b_fp16_hf", - base_provider = "huggingface", - best_provider = DeepInfra -) - -airoboros_70b = Model( - name = "deepinfra/airoboros-70b", - base_provider = "huggingface", - best_provider = DeepInfra -) - -openchat_35 = Model( - name = "openchat/openchat_3.5", - base_provider = "huggingface", - best_provider = DeepInfra + best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs]) ) # Bard -gemini = bard = palm = Model( +gemini = Model( name = 'gemini', base_provider = 'google', best_provider = Gemini @@ -234,7 +181,7 @@ gemini = bard = palm = Model( claude_v2 = Model( name = 'claude-v2', base_provider = 'anthropic', - best_provider = RetryProvider([Vercel]) + best_provider = IterListProvider([Vercel]) ) claude_3_opus = Model( @@ -249,6 +196,12 @@ claude_3_sonnet = Model( best_provider = You ) +claude_3_haiku = Model( + name = 'claude-3-haiku', + base_provider = 'anthropic', + best_provider = DuckDuckGo +) + gpt_35_turbo_16k = Model( name = 'gpt-3.5-turbo-16k', base_provider = 'openai', @@ -288,7 +241,7 @@ gpt_4_32k_0613 = Model( gemini_pro = Model( name = 'gemini-pro', base_provider = 'google', - best_provider = RetryProvider([GeminiProChat, You]) + best_provider = IterListProvider([GeminiPro, You]) ) pi = Model( @@ -300,13 +253,13 @@ pi = Model( dbrx_instruct = Model( name = 'databricks/dbrx-instruct', base_provider = 'mistral', - best_provider = RetryProvider([DeepInfra, PerplexityLabs]) + best_provider = IterListProvider([DeepInfra, PerplexityLabs]) ) command_r_plus = Model( name = 'CohereForAI/c4ai-command-r-plus', base_provider = 'mistral', - best_provider = RetryProvider([HuggingChat, Cohere]) + best_provider = IterListProvider([HuggingChat]) ) blackbox = Model( @@ -334,9 +287,8 @@ class ModelUtils: 'gpt-3.5-turbo-0613' : gpt_35_turbo_0613, 'gpt-3.5-turbo-16k' : gpt_35_turbo_16k, 'gpt-3.5-turbo-16k-0613' : gpt_35_turbo_16k_0613, - 'gpt-3.5-long': gpt_35_long, - + # gpt-4 'gpt-4o' : gpt_4o, 'gpt-4' : gpt_4, @@ -345,52 +297,38 @@ class ModelUtils: 'gpt-4-32k-0613' : gpt_4_32k_0613, 'gpt-4-turbo' : gpt_4_turbo, - # Llama - 'llama2-7b' : llama2_7b, - 'llama2-13b': llama2_13b, - 'llama2-70b': llama2_70b, - - 'llama3-8b' : llama3_8b_instruct, # alias + "meta-ai": meta, + 'llama3-8b': llama3_8b_instruct, # alias 'llama3-70b': llama3_70b_instruct, # alias 'llama3-8b-instruct' : llama3_8b_instruct, 'llama3-70b-instruct': llama3_70b_instruct, - + 'codellama-34b-instruct': codellama_34b_instruct, 'codellama-70b-instruct': codellama_70b_instruct, - # GigaChat - 'gigachat' : gigachat, - 'gigachat_plus': gigachat_plus, - 'gigachat_pro' : gigachat_pro, - # Mistral Opensource 'mixtral-8x7b': mixtral_8x7b, 'mistral-7b': mistral_7b, 'mistral-7b-v02': mistral_7b_v02, - 'mixtral-8x22b': mixtral_8x22b, - 'dolphin-mixtral-8x7b': dolphin_mixtral_8x7b, - + # google gemini 'gemini': gemini, 'gemini-pro': gemini_pro, - + # anthropic 'claude-v2': claude_v2, 'claude-3-opus': claude_3_opus, 'claude-3-sonnet': claude_3_sonnet, - + 'claude-3-haiku': claude_3_haiku, + # reka core - 'reka-core': reka_core, 'reka': reka_core, - 'Reka Core': reka_core, - + # other 'blackbox': blackbox, 'command-r+': command_r_plus, 'dbrx-instruct': dbrx_instruct, - 'lzlv-70b': lzlv_70b, - 'airoboros-70b': airoboros_70b, - 'openchat_3.5': openchat_35, + 'gigachat': gigachat, 'pi': pi } -- cgit v1.2.3