XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Add files via upload

ebea37c2
kqlio67 <166700875+kqlio67@users.noreply.github.com>
提交于

代码差异

1 个文件 +274 -107
Modified g4f/models.py +274 -107
@@ -4,30 +4,34 @@ from dataclasses import dataclass
4 4
5 5 from .Provider import IterListProvider, ProviderType
6 6 from .Provider import (
7 Aichatos,
8 Bing,
9 Blackbox,
10 ChatgptAi,
11 ChatgptNext,
12 Cnote,
13 DeepInfra,
14 Feedough,
15 FreeGpt,
16 Gemini,
17 GeminiPro,
18 GigaChat,
19 HuggingChat,
20 HuggingFace,
21 Koala,
22 Liaobots,
23 MetaAI,
24 OpenaiChat,
25 PerplexityLabs,
26 Replicate,
27 Pi,
28 Vercel,
29 You,
30 Reka
7 AI365VIP,
8 Bing,
9 Blackbox,
10 Chatgpt4o,
11 ChatgptFree,
12 DDG,
13 DeepInfra,
14 DeepInfraImage,
15 FreeChatgpt,
16 FreeGpt,
17 Gemini,
18 GeminiPro,
19 GeminiProChat,
20 GigaChat,
21 HuggingChat,
22 HuggingFace,
23 Koala,
24 Liaobots,
25 MetaAI,
26 OpenaiChat,
27 PerplexityLabs,
28 Pi,
29 Pizzagpt,
30 Reka,
31 Replicate,
32 ReplicateHome,
33 Vercel,
34 You,
31 35 )
32 36
33 37 @dataclass(unsafe_hash=True)
@@ -54,9 +58,15 @@ default = Model(
54 58 base_provider = "",
55 59 best_provider = IterListProvider([
56 60 Bing,
57 ChatgptAi,
58 61 You,
59 62 OpenaiChat,
63 FreeChatgpt,
64 AI365VIP,
65 Chatgpt4o,
66 DDG,
67 ChatgptFree,
68 Koala,
69 Pizzagpt,
60 70 ])
61 71 )
62 72
@@ -67,28 +77,58 @@ gpt_35_long = Model(
67 77 best_provider = IterListProvider([
68 78 FreeGpt,
69 79 You,
70 ChatgptNext,
71 80 OpenaiChat,
72 81 Koala,
82 ChatgptFree,
83 FreeChatgpt,
84 DDG,
85 AI365VIP,
86 Pizzagpt,
73 87 ])
74 88 )
75 89
76 # GPT-3.5 / GPT-4
90 ############
91 ### Text ###
92 ############
93
94 ### OpenAI ###
95 ### GPT-3.5 / GPT-4 ###
96 # gpt-3.5
77 97 gpt_35_turbo = Model(
78 98 name = 'gpt-3.5-turbo',
79 99 base_provider = 'openai',
80 100 best_provider = IterListProvider([
81 101 FreeGpt,
82 102 You,
83 ChatgptNext,
84 103 Koala,
85 104 OpenaiChat,
86 Aichatos,
87 Cnote,
88 Feedough,
105 ChatgptFree,
106 FreeChatgpt,
107 DDG,
108 AI365VIP,
109 Pizzagpt,
89 110 ])
90 111 )
91 112
113 gpt_35_turbo_16k = Model(
114 name = 'gpt-3.5-turbo-16k',
115 base_provider = 'openai',
116 best_provider = gpt_35_long.best_provider
117 )
118
119 gpt_35_turbo_16k_0613 = Model(
120 name = 'gpt-3.5-turbo-16k-0613',
121 base_provider = 'openai',
122 best_provider = gpt_35_long.best_provider
123 )
124
125 gpt_35_turbo_0613 = Model(
126 name = 'gpt-3.5-turbo-0613',
127 base_provider = 'openai',
128 best_provider = gpt_35_turbo.best_provider
129 )
130
131 # gpt-4
92 132 gpt_4 = Model(
93 133 name = 'gpt-4',
94 134 base_provider = 'openai',
@@ -97,12 +137,22 @@ gpt_4 = Model(
97 137 ])
98 138 )
99 139
100 gpt_4o = Model(
101 name = 'gpt-4o',
140 gpt_4_0613 = Model(
141 name = 'gpt-4-0613',
102 142 base_provider = 'openai',
103 best_provider = IterListProvider([
104 You, Liaobots
105 ])
143 best_provider = gpt_4.best_provider
144 )
145
146 gpt_4_32k = Model(
147 name = 'gpt-4-32k',
148 base_provider = 'openai',
149 best_provider = gpt_4.best_provider
150 )
151
152 gpt_4_32k_0613 = Model(
153 name = 'gpt-4-32k-0613',
154 base_provider = 'openai',
155 best_provider = gpt_4.best_provider
106 156 )
107 157
108 158 gpt_4_turbo = Model(
@@ -111,18 +161,36 @@ gpt_4_turbo = Model(
111 161 best_provider = Bing
112 162 )
113 163
164 gpt_4o = Model(
165 name = 'gpt-4o',
166 base_provider = 'openai',
167 best_provider = IterListProvider([
168 You, Liaobots, Chatgpt4o, AI365VIP
169 ])
170 )
171
172
173 ### GigaChat ###
114 174 gigachat = Model(
115 175 name = 'GigaChat:latest',
116 176 base_provider = 'gigachat',
117 177 best_provider = GigaChat
118 178 )
119 179
180
181 ### Meta ###
120 182 meta = Model(
121 183 name = "meta",
122 184 base_provider = "meta",
123 185 best_provider = MetaAI
124 186 )
125 187
188 llama_2_70b_chat = Model(
189 name = "meta/llama-2-70b-chat",
190 base_provider = "meta",
191 best_provider = IterListProvider([ReplicateHome])
192 )
193
126 194 llama3_8b_instruct = Model(
127 195 name = "meta-llama/Meta-Llama-3-8B-Instruct",
128 196 base_provider = "meta",
@@ -132,7 +200,7 @@ llama3_8b_instruct = Model(
132 200 llama3_70b_instruct = Model(
133 201 name = "meta-llama/Meta-Llama-3-70B-Instruct",
134 202 base_provider = "meta",
135 best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate])
203 best_provider = IterListProvider([DeepInfra, PerplexityLabs, Replicate, HuggingChat, DDG])
136 204 )
137 205
138 206 codellama_34b_instruct = Model(
@@ -144,35 +212,77 @@ codellama_34b_instruct = Model(
144 212 codellama_70b_instruct = Model(
145 213 name = "codellama/CodeLlama-70b-Instruct-hf",
146 214 base_provider = "meta",
147 best_provider = IterListProvider([DeepInfra, PerplexityLabs])
215 best_provider = IterListProvider([DeepInfra])
148 216 )
149 217
150 # Mistral
218
219 ### Mistral ###
151 220 mixtral_8x7b = Model(
152 221 name = "mistralai/Mixtral-8x7B-Instruct-v0.1",
153 222 base_provider = "huggingface",
154 best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs])
155 )
156
157 mistral_7b = Model(
158 name = "mistralai/Mistral-7B-Instruct-v0.1",
159 base_provider = "huggingface",
160 best_provider = IterListProvider([HuggingChat, HuggingFace, PerplexityLabs])
223 best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs, HuggingChat, DDG])
161 224 )
162 225
163 226 mistral_7b_v02 = Model(
164 227 name = "mistralai/Mistral-7B-Instruct-v0.2",
165 228 base_provider = "huggingface",
166 best_provider = IterListProvider([DeepInfra, HuggingFace, PerplexityLabs])
229 best_provider = IterListProvider([DeepInfra, HuggingFace, HuggingChat, ReplicateHome])
230 )
231
232
233 ### NousResearch ###
234 Nous_Hermes_2_Mixtral_8x7B_DPO = Model(
235 name = "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO",
236 base_provider = "NousResearch",
237 best_provider = IterListProvider([HuggingFace, HuggingChat])
238 )
239
240
241 ### 01-ai ###
242 Yi_1_5_34B_Chat = Model(
243 name = "01-ai/Yi-1.5-34B-Chat",
244 base_provider = "01-ai",
245 best_provider = IterListProvider([HuggingFace, HuggingChat])
246 )
247
248
249 ### Microsoft ###
250 Phi_3_mini_4k_instruct = Model(
251 name = "microsoft/Phi-3-mini-4k-instruct",
252 base_provider = "Microsoft",
253 best_provider = IterListProvider([HuggingFace, HuggingChat])
167 254 )
168 255
169 # Bard
256
257 ### Google ###
258 # gemini
170 259 gemini = Model(
171 260 name = 'gemini',
172 base_provider = 'google',
261 base_provider = 'Google',
173 262 best_provider = Gemini
174 263 )
175 264
265 gemini_pro = Model(
266 name = 'gemini-pro',
267 base_provider = 'Google',
268 best_provider = IterListProvider([GeminiPro, You, GeminiProChat])
269 )
270
271 # gemma
272 gemma_2_9b_it = Model(
273 name = 'gemma-2-9b-it',
274 base_provider = 'Google',
275 best_provider = IterListProvider([PerplexityLabs])
276 )
277
278 gemma_2_27b_it = Model(
279 name = 'gemma-2-27b-it',
280 base_provider = 'Google',
281 best_provider = IterListProvider([PerplexityLabs])
282 )
283
284
285 ### Anthropic ###
176 286 claude_v2 = Model(
177 287 name = 'claude-v2',
178 288 base_provider = 'anthropic',
@@ -194,79 +304,76 @@ claude_3_sonnet = Model(
194 304 claude_3_haiku = Model(
195 305 name = 'claude-3-haiku',
196 306 base_provider = 'anthropic',
197 best_provider = None
307 best_provider = IterListProvider([DDG, AI365VIP])
198 308 )
199 309
200 gpt_35_turbo_16k = Model(
201 name = 'gpt-3.5-turbo-16k',
202 base_provider = 'openai',
203 best_provider = gpt_35_long.best_provider
204 )
205 310
206 gpt_35_turbo_16k_0613 = Model(
207 name = 'gpt-3.5-turbo-16k-0613',
208 base_provider = 'openai',
209 best_provider = gpt_35_long.best_provider
311 ### Reka AI ###
312 reka_core = Model(
313 name = 'reka-core',
314 base_provider = 'Reka AI',
315 best_provider = Reka
210 316 )
211 317
212 gpt_35_turbo_0613 = Model(
213 name = 'gpt-3.5-turbo-0613',
214 base_provider = 'openai',
215 best_provider = gpt_35_turbo.best_provider
216 )
217 318
218 gpt_4_0613 = Model(
219 name = 'gpt-4-0613',
220 base_provider = 'openai',
221 best_provider = gpt_4.best_provider
319 ### NVIDIA ###
320 nemotron_4_340b_instruct = Model(
321 name = 'nemotron-4-340b-instruct',
322 base_provider = 'NVIDIA',
323 best_provider = IterListProvider([PerplexityLabs])
222 324 )
223 325
224 gpt_4_32k = Model(
225 name = 'gpt-4-32k',
226 base_provider = 'openai',
227 best_provider = gpt_4.best_provider
326
327 ### Blackbox ###
328 blackbox = Model(
329 name = 'blackbox',
330 base_provider = 'Blackbox',
331 best_provider = Blackbox
228 332 )
229 333
230 gpt_4_32k_0613 = Model(
231 name = 'gpt-4-32k-0613',
232 base_provider = 'openai',
233 best_provider = gpt_4.best_provider
334
335 ### Databricks ###
336 dbrx_instruct = Model(
337 name = 'databricks/dbrx-instruct',
338 base_provider = 'Databricks',
339 best_provider = IterListProvider([DeepInfra])
234 340 )
235 341
236 gemini_pro = Model(
237 name = 'gemini-pro',
238 base_provider = 'google',
239 best_provider = IterListProvider([GeminiPro, You])
342
343 ### CohereForAI ###
344 command_r_plus = Model(
345 name = 'CohereForAI/c4ai-command-r-plus',
346 base_provider = 'CohereForAI',
347 best_provider = IterListProvider([HuggingChat])
240 348 )
241 349
350
351 ### Other ###
242 352 pi = Model(
243 353 name = 'pi',
244 354 base_provider = 'inflection',
245 355 best_provider = Pi
246 356 )
247 357
248 dbrx_instruct = Model(
249 name = 'databricks/dbrx-instruct',
250 base_provider = 'mistral',
251 best_provider = IterListProvider([DeepInfra, PerplexityLabs])
252 )
253 358
254 command_r_plus = Model(
255 name = 'CohereForAI/c4ai-command-r-plus',
256 base_provider = 'mistral',
257 best_provider = IterListProvider([HuggingChat])
258 )
359 #############
360 ### Image ###
361 #############
259 362
260 blackbox = Model(
261 name = 'blackbox',
262 base_provider = 'blackbox',
263 best_provider = Blackbox
363 ### Stability AI ###
364 sdxl = Model(
365 name = 'stability-ai/sdxl',
366 base_provider = 'Stability AI',
367 best_provider = IterListProvider([ReplicateHome, DeepInfraImage])
368
264 369 )
265 370
266 reka_core = Model(
267 name = 'reka-core',
268 base_provider = 'Reka AI',
269 best_provider = Reka
371 ### AI Forever ###
372 kandinsky_2_2 = Model(
373 name = 'ai-forever/kandinsky-2.2',
374 base_provider = 'AI Forever',
375 best_provider = IterListProvider([ReplicateHome])
376
270 377 )
271 378
272 379 class ModelUtils:
@@ -277,6 +384,13 @@ class ModelUtils:
277 384 convert (dict[str, Model]): Dictionary mapping model string identifiers to Model instances.
278 385 """
279 386 convert: dict[str, Model] = {
387
388 ############
389 ### Text ###
390 ############
391
392 ### OpenAI ###
393 ### GPT-3.5 / GPT-4 ###
280 394 # gpt-3.5
281 395 'gpt-3.5-turbo' : gpt_35_turbo,
282 396 'gpt-3.5-turbo-0613' : gpt_35_turbo_0613,
@@ -291,8 +405,12 @@ class ModelUtils:
291 405 'gpt-4-32k' : gpt_4_32k,
292 406 'gpt-4-32k-0613' : gpt_4_32k_0613,
293 407 'gpt-4-turbo' : gpt_4_turbo,
294
408
409
410 ### Meta ###
295 411 "meta-ai": meta,
412
413 'llama-2-70b-chat': llama_2_70b_chat,
296 414 'llama3-8b': llama3_8b_instruct, # alias
297 415 'llama3-70b': llama3_70b_instruct, # alias
298 416 'llama3-8b-instruct' : llama3_8b_instruct,
@@ -301,30 +419,79 @@ class ModelUtils:
301 419 'codellama-34b-instruct': codellama_34b_instruct,
302 420 'codellama-70b-instruct': codellama_70b_instruct,
303 421
304 # Mistral Opensource
422
423 ### Mistral (Opensource) ###
305 424 'mixtral-8x7b': mixtral_8x7b,
306 'mistral-7b': mistral_7b,
307 425 'mistral-7b-v02': mistral_7b_v02,
426
427
428 ### NousResearch ###
429 'Nous-Hermes-2-Mixtral-8x7B-DPO': Nous_Hermes_2_Mixtral_8x7B_DPO,
308 430
309 # google gemini
431
432 ### 01-ai ###
433 'Yi-1.5-34B-Chat': Yi_1_5_34B_Chat,
434
435
436 ### Microsoft ###
437 'Phi-3-mini-4k-instruct': Phi_3_mini_4k_instruct,
438
439
440 ### Google ###
441 # gemini
310 442 'gemini': gemini,
311 443 'gemini-pro': gemini_pro,
444
445 # gemma
446 'gemma-2-9b-it': gemma_2_9b_it,
447 'gemma-2-27b-it': gemma_2_27b_it,
448
312 449
313 # anthropic
450 ### Anthropic ###
314 451 'claude-v2': claude_v2,
315 452 'claude-3-opus': claude_3_opus,
316 453 'claude-3-sonnet': claude_3_sonnet,
317 454 'claude-3-haiku': claude_3_haiku,
318 455
319 # reka core
456
457 ### Reka AI ###
320 458 'reka': reka_core,
321 459
322 # other
323 'blackbox': blackbox,
460
461 ### NVIDIA ###
462 'nemotron-4-340b-instruct': nemotron_4_340b_instruct,
463
464
465 ### Blackbox ###
466 'blackbox': blackbox,
467
468
469 ### CohereForAI ###
324 470 'command-r+': command_r_plus,
471
472
473 ### Databricks ###
325 474 'dbrx-instruct': dbrx_instruct,
475
476
477 ### GigaChat ###
326 478 'gigachat': gigachat,
327 'pi': pi
479
480
481 # Other
482 'pi': pi,
483
484
485
486 #############
487 ### Image ###
488 #############
489
490 ### Stability AI ###
491 'sdxl': sdxl,
492
493 ### AI Forever ###
494 'kandinsky-2.2': kandinsky_2_2,
328 495 }
329 496
330 497 _all_models = list(ModelUtils.convert.keys())