返回提交历史
Added
g4f/Provider/Airforce.py
+255
-0
Deleted
g4f/Provider/FluxAirforce.py
+0
-82
Deleted
g4f/Provider/Rocks.py
+0
-70
Modified
g4f/Provider/__init__.py
+1
-2
Modified
g4f/models.py
+140
-40
XFEstudio/gpt4free
feat(providers): unify Rocks and FluxAirforce into Airforce provider
3e491c63
代码差异
5 个文件
+396
-194
@@ -0,0 +1,255 @@
1
from __future__ import annotations
2
3
from aiohttp import ClientSession, ClientResponseError
4
from urllib.parse import urlencode
5
import json
6
import io
7
import asyncio
8
9
from ..typing import AsyncResult, Messages
10
from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
11
from ..image import ImageResponse, is_accepted_format
12
from .helper import format_prompt
13
14
class Airforce(AsyncGeneratorProvider, ProviderModelMixin):
15
url = "https://api.airforce"
16
text_api_endpoint = "https://api.airforce/chat/completions"
17
image_api_endpoint = "https://api.airforce/v1/imagine2"
18
working = True
19
supports_gpt_35_turbo = True
20
supports_gpt_4 = True
21
supports_stream = True
22
supports_system_message = True
23
supports_message_history = True
24
default_model = 'llama-3-70b-chat'
25
text_models = [
26
# Open source models
27
'llama-2-13b-chat',
28
29
'llama-3-70b-chat',
30
'llama-3-70b-chat-turbo',
31
'llama-3-70b-chat-lite',
32
33
'llama-3-8b-chat',
34
'llama-3-8b-chat-turbo',
35
'llama-3-8b-chat-lite',
36
37
'llama-3.1-405b-turbo',
38
'llama-3.1-70b-turbo',
39
'llama-3.1-8b-turbo',
40
41
'LlamaGuard-2-8b',
42
'Llama-Guard-7b',
43
'Meta-Llama-Guard-3-8B',
44
45
'Mixtral-8x7B-Instruct-v0.1',
46
'Mixtral-8x22B-Instruct-v0.1',
47
'Mistral-7B-Instruct-v0.1',
48
'Mistral-7B-Instruct-v0.2',
49
'Mistral-7B-Instruct-v0.3',
50
51
'Qwen1.5-72B-Chat',
52
'Qwen1.5-110B-Chat',
53
'Qwen2-72B-Instruct',
54
55
'gemma-2b-it',
56
'gemma-2-9b-it',
57
'gemma-2-27b-it',
58
59
'dbrx-instruct',
60
61
'deepseek-llm-67b-chat',
62
63
'Nous-Hermes-2-Mixtral-8x7B-DPO',
64
'Nous-Hermes-2-Yi-34B',
65
66
'WizardLM-2-8x22B',
67
68
'SOLAR-10.7B-Instruct-v1.0',
69
70
'StripedHyena-Nous-7B',
71
72
'sparkdesk',
73
74
75
# Other models
76
'chatgpt-4o-latest',
77
'gpt-4',
78
'gpt-4-turbo',
79
'gpt-4o-mini-2024-07-18',
80
'gpt-4o-mini',
81
'gpt-4o',
82
'gpt-3.5-turbo',
83
'gpt-3.5-turbo-0125',
84
'gpt-3.5-turbo-1106',
85
'gpt-3.5-turbo-16k',
86
'gpt-3.5-turbo-0613',
87
'gpt-3.5-turbo-16k-0613',
88
89
'gemini-1.5-flash',
90
'gemini-1.5-pro',
91
]
92
image_models = [
93
'flux',
94
'flux-realism',
95
'flux-anime',
96
'flux-3d',
97
'flux-disney',
98
'flux-pixel',
99
'any-dark',
100
]
101
102
models = [
103
*text_models,
104
*image_models
105
]
106
model_aliases = {
107
# Open source models
108
"llama-2-13b": "llama-2-13b-chat",
109
110
"llama-3-70b": "llama-3-70b-chat",
111
"llama-3-70b": "llama-3-70b-chat-turbo",
112
"llama-3-70b": "llama-3-70b-chat-lite",
113
114
"llama-3-8b": "llama-3-8b-chat",
115
"llama-3-8b": "llama-3-8b-chat-turbo",
116
"llama-3-8b": "llama-3-8b-chat-lite",
117
118
"llama-3.1-405b": "llama-3.1-405b-turbo",
119
"llama-3.1-70b": "llama-3.1-70b-turbo",
120
"llama-3.1-8b": "llama-3.1-8b-turbo",
121
122
"mixtral-8x7b": "Mixtral-8x7B-Instruct-v0.1",
123
"mixtral-8x22b": "Mixtral-8x22B-Instruct-v0.1",
124
"mistral-7b": "Mistral-7B-Instruct-v0.1",
125
"mistral-7b": "Mistral-7B-Instruct-v0.2",
126
"mistral-7b": "Mistral-7B-Instruct-v0.3",
127
128
"mixtral-8x7b-dpo": "Nous-Hermes-2-Mixtral-8x7B-DPO",
129
130
"qwen-1-5-72b": "Qwen1.5-72B-Chat",
131
"qwen-1_5-110b": "Qwen1.5-110B-Chat",
132
"qwen-2-72b": "Qwen2-72B-Instruct",
133
134
"gemma-2b": "gemma-2b-it",
135
"gemma-2b-9b": "gemma-2-9b-it",
136
"gemma-2b-27b": "gemma-2-27b-it",
137
138
"deepseek": "deepseek-llm-67b-chat",
139
140
"yi-34b": "Nous-Hermes-2-Yi-34B",
141
142
"wizardlm-2-8x22b": "WizardLM-2-8x22B",
143
144
"solar-10-7b": "SOLAR-10.7B-Instruct-v1.0",
145
146
"sh-n-7b": "StripedHyena-Nous-7B",
147
148
"sparkdesk-v1.1": "sparkdesk",
149
150
151
# Other models
152
"gpt-4o": "chatgpt-4o-latest",
153
"gpt-4o-mini": "gpt-4o-mini-2024-07-18",
154
155
"gpt-3.5-turbo": "gpt-3.5-turbo-0125",
156
"gpt-3.5-turbo": "gpt-3.5-turbo-1106",
157
"gpt-3.5-turbo": "gpt-3.5-turbo-16k",
158
"gpt-3.5-turbo": "gpt-3.5-turbo-0613",
159
"gpt-3.5-turbo": "gpt-3.5-turbo-16k-0613",
160
161
162
"gemini-flash": "gemini-1.5-flash",
163
"gemini-pro": "gemini-1.5-pro",
164
}
165
166
@classmethod
167
async def create_async_generator(
168
cls,
169
model: str,
170
messages: Messages,
171
proxy: str = None,
172
**kwargs
173
) -> AsyncResult:
174
model = cls.get_model(model)
175
176
headers = {
177
"accept": "*/*",
178
"accept-language": "en-US,en;q=0.9",
179
"content-type": "application/json",
180
"origin": "https://api.airforce",
181
"sec-ch-ua": '"Chromium";v="128", "Not(A:Brand";v="24"',
182
"sec-ch-ua-mobile": "?0",
183
"sec-ch-ua-platform": '"Linux"',
184
"sec-fetch-dest": "empty",
185
"sec-fetch-mode": "cors",
186
"sec-fetch-site": "cross-site",
187
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36"
188
}
189
190
191
if model in cls.image_models:
192
async for item in cls.generate_image(model, messages, headers, proxy, **kwargs):
193
yield item
194
else:
195
async for item in cls.generate_text(model, messages, headers, proxy, **kwargs):
196
yield item
197
198
@classmethod
199
async def generate_text(cls, model: str, messages: Messages, headers: dict, proxy: str, **kwargs) -> AsyncResult:
200
async with ClientSession(headers=headers) as session:
201
data = {
202
"messages": [{"role": "user", "content": format_prompt(messages)}],
203
"model": model,
204
"temperature": kwargs.get('temperature', 1),
205
"top_p": kwargs.get('top_p', 1),
206
"stream": True
207
}
208
209
async with session.post(cls.text_api_endpoint, json=data, proxy=proxy) as response:
210
response.raise_for_status()
211
async for line in response.content:
212
if line:
213
line = line.decode('utf-8').strip()
214
if line.startswith("data: "):
215
try:
216
data = json.loads(line[6:])
217
if 'choices' in data and len(data['choices']) > 0:
218
delta = data['choices'][0].get('delta', {})
219
if 'content' in delta:
220
yield delta['content']
221
except json.JSONDecodeError:
222
continue
223
elif line == "data: [DONE]":
224
break
225
226
@classmethod
227
async def generate_image(cls, model: str, messages: Messages, headers: dict, proxy: str, **kwargs) -> AsyncResult:
228
prompt = messages[-1]['content'] if messages else ""
229
params = {
230
"prompt": prompt,
231
"size": kwargs.get("size", "1:1"),
232
"seed": kwargs.get("seed"),
233
"model": model
234
}
235
params = {k: v for k, v in params.items() if v is not None}
236
237
try:
238
async with ClientSession(headers=headers) as session:
239
async with session.get(cls.image_api_endpoint, params=params, proxy=proxy) as response:
240
response.raise_for_status()
241
content = await response.read()
242
243
if response.content_type.startswith('image/'):
244
image_url = str(response.url)
245
yield ImageResponse(image_url, prompt)
246
else:
247
try:
248
text = content.decode('utf-8', errors='ignore')
249
yield f"Error: {text}"
250
except Exception as decode_error:
251
yield f"Error: Unable to decode response - {str(decode_error)}"
252
except ClientResponseError as e:
253
yield f"Error: HTTP {e.status}: {e.message}"
254
except Exception as e:
255
yield f"Unexpected error: {str(e)}"
@@ -1,82 +0,0 @@
1
from __future__ import annotations
2
3
from aiohttp import ClientSession, ClientResponseError
4
from urllib.parse import urlencode
5
import io
6
7
from ..typing import AsyncResult, Messages
8
from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
9
from ..image import ImageResponse, is_accepted_format
10
11
class FluxAirforce(AsyncGeneratorProvider, ProviderModelMixin):
12
url = "https://flux.api.airforce/"
13
api_endpoint = "https://api.airforce/v1/imagine2"
14
working = True
15
default_model = 'flux-realism'
16
models = [
17
'flux',
18
'flux-realism',
19
'flux-anime',
20
'flux-3d',
21
'flux-disney'
22
]
23
24
@classmethod
25
async def create_async_generator(
26
cls,
27
model: str,
28
messages: Messages,
29
proxy: str = None,
30
**kwargs
31
) -> AsyncResult:
32
headers = {
33
"accept": "*/*",
34
"accept-language": "en-US,en;q=0.9",
35
"origin": "https://flux.api.airforce",
36
"priority": "u=1, i",
37
"referer": "https://flux.api.airforce/",
38
"sec-ch-ua": '"Chromium";v="127", "Not)A;Brand";v="99"',
39
"sec-ch-ua-mobile": "?0",
40
"sec-ch-ua-platform": '"Linux"',
41
"sec-fetch-dest": "empty",
42
"sec-fetch-mode": "cors",
43
"sec-fetch-site": "same-site",
44
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
45
}
46
47
prompt = messages[-1]['content'] if messages else ""
48
49
params = {
50
"prompt": prompt,
51
"size": kwargs.get("size", "1:1"),
52
"seed": kwargs.get("seed"),
53
"model": model
54
}
55
56
params = {k: v for k, v in params.items() if v is not None}
57
58
try:
59
async with ClientSession(headers=headers) as session:
60
async with session.get(f"{cls.api_endpoint}", params=params, proxy=proxy) as response:
61
response.raise_for_status()
62
63
content = await response.read()
64
65
if response.content_type.startswith('image/'):
66
image_url = str(response.url)
67
yield ImageResponse(image_url, prompt)
68
else:
69
try:
70
text = content.decode('utf-8', errors='ignore')
71
yield f"Error: {text}"
72
except Exception as decode_error:
73
yield f"Error: Unable to decode response - {str(decode_error)}"
74
75
except ClientResponseError as e:
76
yield f"Error: HTTP {e.status}: {e.message}"
77
except Exception as e:
78
yield f"Unexpected error: {str(e)}"
79
80
finally:
81
if not session.closed:
82
await session.close()
@@ -1,70 +0,0 @@
1
import asyncio
2
import json
3
from aiohttp import ClientSession
4
from ..typing import Messages, AsyncResult
5
from .base_provider import AsyncGeneratorProvider
6
7
class Rocks(AsyncGeneratorProvider):
8
url = "https://api.airforce"
9
api_endpoint = "/chat/completions"
10
supports_message_history = True
11
supports_gpt_35_turbo = True
12
supports_gpt_4 = True
13
supports_stream = True
14
supports_system_message = True
15
working = True
16
17
@classmethod
18
async def create_async_generator(
19
cls,
20
model: str,
21
messages: Messages,
22
proxy: str = None,
23
**kwargs
24
) -> AsyncResult:
25
payload = {"messages":messages,"model":model,"max_tokens":4096,"temperature":1,"top_p":1,"stream":True}
26
27
headers = {
28
"Accept": "application/json",
29
"Accept-Encoding": "gzip, deflate, br, zstd",
30
"Accept-Language": "en-US,en;q=0.9",
31
"Authorization": "Bearer missing api key",
32
"Origin": "https://llmplayground.net",
33
"Referer": "https://llmplayground.net/",
34
"Sec-Fetch-Dest": "empty",
35
"Sec-Fetch-Mode": "cors",
36
"Sec-Fetch-Site": "same-origin",
37
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
38
}
39
40
async with ClientSession() as session:
41
async with session.post(
42
f"{cls.url}{cls.api_endpoint}",
43
json=payload,
44
proxy=proxy,
45
headers=headers
46
) as response:
47
response.raise_for_status()
48
last_chunk_time = asyncio.get_event_loop().time()
49
50
async for line in response.content:
51
current_time = asyncio.get_event_loop().time()
52
if current_time - last_chunk_time > 5:
53
return
54
55
if line.startswith(b"\n"):
56
pass
57
elif "discord.com/invite/" in line.decode() or "discord.gg/" in line.decode():
58
pass # trolled
59
elif line.startswith(b"data: "):
60
try:
61
line = json.loads(line[6:])
62
except json.JSONDecodeError:
63
continue
64
chunk = line["choices"][0]["delta"].get("content")
65
if chunk:
66
yield chunk
67
last_chunk_time = current_time
68
else:
69
raise Exception(f"Unexpected line: {line}")
70
return
@@ -13,6 +13,7 @@ from .AI365VIP import AI365VIP
13
13
from .Allyfy import Allyfy
14
14
from .AiChatOnline import AiChatOnline
15
15
from .AiChats import AiChats
16
from .Airforce import Airforce
16
17
from .Aura import Aura
17
18
from .Bing import Bing
18
19
from .BingCreateImages import BingCreateImages
@@ -28,7 +29,6 @@ from .DDG import DDG
28
29
from .DeepInfra import DeepInfra
29
30
from .DeepInfraImage import DeepInfraImage
30
31
from .FlowGpt import FlowGpt
31
from .FluxAirforce import FluxAirforce
32
32
from .Free2GPT import Free2GPT
33
33
from .FreeChatgpt import FreeChatgpt
34
34
from .FreeGpt import FreeGpt
@@ -55,7 +55,6 @@ from .Reka import Reka
55
55
from .Snova import Snova
56
56
from .Replicate import Replicate
57
57
from .ReplicateHome import ReplicateHome
58
from .Rocks import Rocks
59
58
from .TeachAnything import TeachAnything
60
59
from .TwitterBio import TwitterBio
61
60
from .Upstage import Upstage
@@ -5,6 +5,7 @@ from dataclasses import dataclass
5
5
from .Provider import IterListProvider, ProviderType
6
6
from .Provider import (
7
7
AiChatOnline,
8
Airforce,
8
9
Allyfy,
9
10
Bing,
10
11
Binjie,
@@ -18,7 +19,6 @@ from .Provider import (
18
19
DDG,
19
20
DeepInfra,
20
21
DeepInfraImage,
21
FluxAirforce,
22
22
Free2GPT,
23
23
FreeChatgpt,
24
24
FreeGpt,
@@ -105,7 +105,7 @@ gpt_35_turbo = Model(
105
105
name = 'gpt-3.5-turbo',
106
106
base_provider = 'OpenAI',
107
107
best_provider = IterListProvider([
108
Allyfy, TwitterBio, Nexra, Bixin123, CodeNews,
108
Allyfy, TwitterBio, Nexra, Bixin123, CodeNews, Airforce,
109
109
])
110
110
)
111
111
@@ -114,7 +114,8 @@ gpt_4o = Model(
114
114
name = 'gpt-4o',
115
115
base_provider = 'OpenAI',
116
116
best_provider = IterListProvider([
117
Liaobots, Chatgpt4o, OpenaiChat,
117
Liaobots, Chatgpt4o, Airforce,
118
OpenaiChat,
118
119
])
119
120
)
120
121
@@ -122,8 +123,8 @@ gpt_4o_mini = Model(
122
123
name = 'gpt-4o-mini',
123
124
base_provider = 'OpenAI',
124
125
best_provider = IterListProvider([
125
DDG, Liaobots, You, FreeNetfly, Pizzagpt, ChatgptFree, AiChatOnline, CodeNews,
126
MagickPen, OpenaiChat, Koala,
126
DDG, Liaobots, You, FreeNetfly, Pizzagpt, ChatgptFree, AiChatOnline, CodeNews, MagickPen, Airforce,
127
OpenaiChat, Koala,
127
128
])
128
129
)
129
130
@@ -131,7 +132,7 @@ gpt_4_turbo = Model(
131
132
name = 'gpt-4-turbo',
132
133
base_provider = 'OpenAI',
133
134
best_provider = IterListProvider([
134
Nexra, Bixin123, Liaobots, Bing
135
Nexra, Bixin123, Liaobots, Airforce, Bing
135
136
])
136
137
)
137
138
@@ -139,7 +140,7 @@ gpt_4 = Model(
139
140
name = 'gpt-4',
140
141
base_provider = 'OpenAI',
141
142
best_provider = IterListProvider([
142
Chatgpt4Online, Nexra, Binjie, Bing,
143
Chatgpt4Online, Nexra, Binjie, Airforce, Bing,
143
144
gpt_4_turbo.best_provider, gpt_4o.best_provider, gpt_4o_mini.best_provider
144
145
])
145
146
)
@@ -159,48 +160,60 @@ meta = Model(
159
160
best_provider = MetaAI
160
161
)
161
162
163
llama_2_13b = Model(
164
name = "llama-2-13b",
165
base_provider = "Meta",
166
best_provider = IterListProvider([Airforce])
167
)
168
162
169
llama_3_8b = Model(
163
170
name = "llama-3-8b",
164
171
base_provider = "Meta",
165
best_provider = IterListProvider([DeepInfra, Replicate])
172
best_provider = IterListProvider([Airforce, DeepInfra, Replicate])
166
173
)
167
174
168
175
llama_3_70b = Model(
169
176
name = "llama-3-70b",
170
177
base_provider = "Meta",
171
best_provider = IterListProvider([ReplicateHome, DeepInfra, Replicate])
178
best_provider = IterListProvider([ReplicateHome, Airforce, DeepInfra, Replicate])
172
179
)
173
180
174
181
llama_3_1_8b = Model(
175
182
name = "llama-3.1-8b",
176
183
base_provider = "Meta",
177
best_provider = IterListProvider([Blackbox, PerplexityLabs])
184
best_provider = IterListProvider([Blackbox, Airforce, PerplexityLabs])
178
185
)
179
186
180
187
llama_3_1_70b = Model(
181
188
name = "llama-3.1-70b",
182
189
base_provider = "Meta",
183
best_provider = IterListProvider([DDG, HuggingChat, FreeGpt, Blackbox, TeachAnything, Free2GPT, HuggingFace, PerplexityLabs])
190
best_provider = IterListProvider([DDG, HuggingChat, FreeGpt, Blackbox, TeachAnything, Free2GPT, Airforce, HuggingFace, PerplexityLabs])
184
191
)
185
192
186
193
llama_3_1_405b = Model(
187
194
name = "llama-3.1-405b",
188
195
base_provider = "Meta",
189
best_provider = IterListProvider([Blackbox])
196
best_provider = IterListProvider([Blackbox, Airforce])
190
197
)
191
198
192
199
193
200
### Mistral ###
201
mistral_7b = Model(
202
name = "mistral-7b",
203
base_provider = "Mistral",
204
best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace, DeepInfra])
205
)
206
194
207
mixtral_8x7b = Model(
195
208
name = "mixtral-8x7b",
196
209
base_provider = "Mistral",
197
best_provider = IterListProvider([HuggingChat, DDG, ReplicateHome, TwitterBio, DeepInfra, HuggingFace,])
210
best_provider = IterListProvider([HuggingChat, DDG, ReplicateHome, TwitterBio, Airforce, DeepInfra, HuggingFace])
198
211
)
199
212
200
mistral_7b = Model(
201
name = "mistral-7b",
213
mixtral_8x22b = Model(
214
name = "mixtral-8x22b",
202
215
base_provider = "Mistral",
203
best_provider = IterListProvider([HuggingChat, HuggingFace, DeepInfra])
216
best_provider = IterListProvider([Airforce])
204
217
)
205
218
206
219
@@ -208,7 +221,13 @@ mistral_7b = Model(
208
221
mixtral_8x7b_dpo = Model(
209
222
name = "mixtral-8x7b-dpo",
210
223
base_provider = "NousResearch",
211
best_provider = IterListProvider([HuggingChat, HuggingFace,])
224
best_provider = IterListProvider([HuggingChat, Airforce, HuggingFace])
225
)
226
227
yi_34b = Model(
228
name = 'yi-34b',
229
base_provider = 'NousResearch',
230
best_provider = IterListProvider([Airforce])
212
231
)
213
232
214
233
@@ -222,29 +241,45 @@ phi_3_mini_4k = Model(
222
241
223
242
### Google ###
224
243
# gemini
225
gemini = Model(
226
name = 'gemini',
227
base_provider = 'Google',
228
best_provider = Gemini
229
)
230
231
244
gemini_pro = Model(
232
245
name = 'gemini-pro',
233
246
base_provider = 'Google',
234
best_provider = IterListProvider([GeminiPro, ChatGot, Liaobots])
247
best_provider = IterListProvider([GeminiPro, ChatGot, Liaobots, Airforce])
235
248
)
236
249
237
250
gemini_flash = Model(
238
251
name = 'gemini-flash',
239
252
base_provider = 'Google',
240
best_provider = IterListProvider([Liaobots, Blackbox])
253
best_provider = IterListProvider([Blackbox, Liaobots, Airforce])
241
254
)
242
255
256
gemini = Model(
257
name = 'gemini',
258
base_provider = 'Google',
259
best_provider = IterListProvider([
260
Gemini,
261
gemini_flash.best_provider, gemini_pro.best_provider
262
])
263
)
264
265
243
266
# gemma
244
267
gemma_2b = Model(
245
268
name = 'gemma-2b',
246
269
base_provider = 'Google',
247
best_provider = IterListProvider([ReplicateHome])
270
best_provider = IterListProvider([ReplicateHome, Airforce])
271
)
272
273
gemma_2b_9b = Model(
274
name = 'gemma-2b-9b',
275
base_provider = 'Google',
276
best_provider = IterListProvider([Airforce])
277
)
278
279
gemma_2b_27b = Model(
280
name = 'gemma-2b-27b',
281
base_provider = 'Google',
282
best_provider = IterListProvider([Airforce])
248
283
)
249
284
250
285
### Anthropic ###
@@ -311,7 +346,7 @@ blackbox = Model(
311
346
dbrx_instruct = Model(
312
347
name = 'dbrx-instruct',
313
348
base_provider = 'Databricks',
314
best_provider = IterListProvider([DeepInfra])
349
best_provider = IterListProvider([Airforce, DeepInfra])
315
350
)
316
351
317
352
@@ -327,7 +362,7 @@ command_r_plus = Model(
327
362
sparkdesk_v1_1 = Model(
328
363
name = 'sparkdesk-v1.1',
329
364
base_provider = 'iFlytek',
330
best_provider = IterListProvider([FreeChatgpt])
365
best_provider = IterListProvider([FreeChatgpt, Airforce])
331
366
)
332
367
333
368
### Qwen ###
@@ -337,6 +372,24 @@ qwen_1_5_14b = Model(
337
372
best_provider = IterListProvider([FreeChatgpt])
338
373
)
339
374
375
qwen_1_5_72b = Model(
376
name = 'qwen-1.5-72b',
377
base_provider = 'Qwen',
378
best_provider = IterListProvider([Airforce])
379
)
380
381
qwen_1_5_110b = Model(
382
name = 'qwen-1.5-110b',
383
base_provider = 'Qwen',
384
best_provider = IterListProvider([Airforce])
385
)
386
387
qwen_2_72b = Model(
388
name = 'qwen-2-72b',
389
base_provider = 'Qwen',
390
best_provider = IterListProvider([Airforce])
391
)
392
340
393
qwen_turbo = Model(
341
394
name = 'qwen-turbo',
342
395
base_provider = 'Qwen',
@@ -360,7 +413,10 @@ glm_4_9b = Model(
360
413
glm_4 = Model(
361
414
name = 'glm-4',
362
415
base_provider = 'Zhipu AI',
363
best_provider = IterListProvider([CodeNews, glm_4_9b.best_provider,])
416
best_provider = IterListProvider([
417
CodeNews,
418
glm_3_6b.best_provider, glm_4_9b.best_provider
419
])
364
420
)
365
421
366
422
### 01-ai ###
@@ -370,14 +426,20 @@ yi_1_5_9b = Model(
370
426
best_provider = IterListProvider([FreeChatgpt])
371
427
)
372
428
373
374
### Pi ###
429
### Upstage ###
375
430
solar_1_mini = Model(
376
431
name = 'solar-1-mini',
377
432
base_provider = 'Upstage',
378
433
best_provider = IterListProvider([Upstage])
379
434
)
380
435
436
solar_10_7b = Model(
437
name = 'solar-10-7b',
438
base_provider = 'Upstage',
439
best_provider = Airforce
440
)
441
442
381
443
### Pi ###
382
444
pi = Model(
383
445
name = 'pi',
@@ -410,10 +472,22 @@ westlake_7b_v2 = Model(
410
472
deepseek = Model(
411
473
name = 'deepseek',
412
474
base_provider = 'DeepSeek',
413
best_provider = CodeNews
475
best_provider = IterListProvider([CodeNews, Airforce])
414
476
)
415
477
478
### WizardLM ###
479
wizardlm_2_8x22b = Model(
480
name = 'wizardlm-2-8x22b',
481
base_provider = 'WizardLM',
482
best_provider = Airforce
483
)
416
484
485
### Together ###
486
sh_n_7b = Model(
487
name = 'sh-n-7b',
488
base_provider = 'Together',
489
best_provider = Airforce
490
)
417
491
418
492
#############
419
493
### Image ###
@@ -446,35 +520,42 @@ playground_v2_5 = Model(
446
520
flux = Model(
447
521
name = 'flux',
448
522
base_provider = 'Flux AI',
449
best_provider = IterListProvider([FluxAirforce])
523
best_provider = IterListProvider([Airforce])
450
524
451
525
)
452
526
453
527
flux_realism = Model(
454
528
name = 'flux-realism',
455
529
base_provider = 'Flux AI',
456
best_provider = IterListProvider([FluxAirforce])
530
best_provider = IterListProvider([Airforce])
457
531
458
532
)
459
533
460
534
flux_anime = Model(
461
535
name = 'flux-anime',
462
536
base_provider = 'Flux AI',
463
best_provider = IterListProvider([FluxAirforce])
537
best_provider = IterListProvider([Airforce])
464
538
465
539
)
466
540
467
541
flux_3d = Model(
468
542
name = 'flux-3d',
469
543
base_provider = 'Flux AI',
470
best_provider = IterListProvider([FluxAirforce])
544
best_provider = IterListProvider([Airforce])
471
545
472
546
)
473
547
474
548
flux_disney = Model(
475
549
name = 'flux-disney',
476
550
base_provider = 'Flux AI',
477
best_provider = IterListProvider([FluxAirforce])
551
best_provider = IterListProvider([Airforce])
552
553
)
554
555
flux_pixel = Model(
556
name = 'flux-pixel',
557
base_provider = 'Flux AI',
558
best_provider = IterListProvider([Airforce])
478
559
479
560
)
480
561
@@ -537,6 +618,9 @@ class ModelUtils:
537
618
### Meta ###
538
619
"meta-ai": meta,
539
620
621
# llama-2
622
'llama-2-13b': llama_2_13b,
623
540
624
# llama-3
541
625
'llama-3-8b': llama_3_8b,
542
626
'llama-3-70b': llama_3_70b,
@@ -545,14 +629,19 @@ class ModelUtils:
545
629
'llama-3.1-8b': llama_3_1_8b,
546
630
'llama-3.1-70b': llama_3_1_70b,
547
631
'llama-3.1-405b': llama_3_1_405b,
632
548
633
549
634
### Mistral ###
550
'mixtral-8x7b': mixtral_8x7b,
551
635
'mistral-7b': mistral_7b,
636
'mixtral-8x7b': mixtral_8x7b,
637
'mixtral-8x22b': mixtral_8x22b,
552
638
553
639
554
640
### NousResearch ###
555
'mixtral-8x7b-dpo': mixtral_8x7b_dpo,
641
'mixtral-8x7b-dpo': mixtral_8x7b_dpo,
642
643
'yi-34b': yi_34b,
644
556
645
557
646
### Microsoft ###
558
647
'phi-3-mini-4k': phi_3_mini_4k,
@@ -566,6 +655,8 @@ class ModelUtils:
566
655
567
656
# gemma
568
657
'gemma-2b': gemma_2b,
658
'gemma-2b-9b': gemma_2b_9b,
659
'gemma-2b-27b': gemma_2b_27b,
569
660
570
661
571
662
### Anthropic ###
@@ -575,8 +666,8 @@ class ModelUtils:
575
666
576
667
'claude-3-opus': claude_3_opus,
577
668
'claude-3-sonnet': claude_3_sonnet,
578
'claude-3-5-sonnet': claude_3_5_sonnet,
579
669
'claude-3-haiku': claude_3_haiku,
670
'claude-3-5-sonnet': claude_3_5_sonnet,
580
671
581
672
582
673
### Reka AI ###
@@ -605,6 +696,9 @@ class ModelUtils:
605
696
606
697
### Qwen ###
607
698
'qwen-1.5-14b': qwen_1_5_14b,
699
'qwen-1.5-72b': qwen_1_5_72b,
700
'qwen-1.5-110b': qwen_1_5_110b,
701
'qwen-2-72b': qwen_2_72b,
608
702
'qwen-turbo': qwen_turbo,
609
703
610
704
@@ -620,6 +714,7 @@ class ModelUtils:
620
714
621
715
### Upstage ###
622
716
'solar-1-mini': solar_1_mini,
717
'solar-10-7b': solar_10_7b,
623
718
624
719
625
720
### Pi ###
@@ -640,6 +735,10 @@ class ModelUtils:
640
735
641
736
### DeepSeek ###
642
737
'deepseek': deepseek,
738
739
740
### Together ###
741
'sh-n-7b': sh_n_7b,
643
742
644
743
645
744
@@ -662,6 +761,7 @@ class ModelUtils:
662
761
'flux-anime': flux_anime,
663
762
'flux-3d': flux_3d,
664
763
'flux-disney': flux_disney,
764
'flux-pixel': flux_pixel,
665
765
666
766
667
767
### ###