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

XFEstudio/gpt4free

refactor: update string conversion, provider aliases, and model mappings

- In **g4f/Provider/Cloudflare.py**: - Added `from .helper import to_string`. - Replaced conditional string checks with `to_string(message["content"])` for both `"content"` and elements in `"parts"`. - In **g4f/Provider/PollinationsAI.py**: - Removed `"o3-mini"` from the `vision_models` list. - Updated the alias mapping dictionary by: - Removing the `"o3-mini": "openai-reasoning"` entry. - Removing the duplicate `"gpt-4o-mini": "searchgpt"` mapping. - Removing the duplicate `"gemini-2.0-flash-thinking": "gemini-reasoning"` entry. - Removing the `"qwq-32b": "qwen-reasoning"` mapping. - Adding a new alias `"llama-4-scout": "llamascout"`. - In **g4f/gui/client/static/css/style.css**: - Changed the `border-left` property value from `var(--colour-4)` to `var(--media-select)`. - In **g4f/models.py**: - For the `"o3-mini"` model, removed `PollinationsAI` from its `best_provider` list. - Changed the comment from `# llama 2` to `### llama 2-4 ###` and removed redundant comments for llama 3.1 and 3.2. - Added a new model `llama_4_scout` with `base_provider` set to `"Meta Llama"` and `best_provider` as `IterListProvider([Cloudflare, PollinationsAI])`. - For the `"qwq-32b"` model, removed `PollinationsAI` from its `best_provider` list. - Updated the `ModelUtils` mapping to include the new `llama_4_scout` model.

03e37e0b
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

4 个文件 +19 -16
Modified g4f/Provider/Cloudflare.py +3 -2
@@ -9,6 +9,7 @@ from ..requests import Session, StreamSession, get_args_from_nodriver, raise_for
9 9 from ..requests import DEFAULT_HEADERS, has_nodriver, has_curl_cffi
10 10 from ..providers.response import FinishReason, Usage
11 11 from ..errors import ResponseStatusError, ModelNotFoundError
12 from .helper import to_string
12 13
13 14 class Cloudflare(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
14 15 label = "Cloudflare AI"
@@ -89,8 +90,8 @@ class Cloudflare(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
89 90 data = {
90 91 "messages": [{
91 92 **message,
92 "content": message["content"] if isinstance(message["content"], str) else "",
93 "parts": [{"type":"text", "text":message["content"]}] if isinstance(message["content"], str) else message} for message in messages],
93 "content": to_string(message["content"]),
94 "parts": [{"type":"text", "text": to_string(message["content"])}]} for message in messages],
94 95 "lora": None,
95 96 "model": model,
96 97 "max_tokens": max_tokens,
Modified g4f/Provider/PollinationsAI.py +2 -5
@@ -51,7 +51,7 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
51 51 image_models = [default_image_model]
52 52 audio_models = [default_audio_model]
53 53 extra_image_models = ["flux-pro", "flux-dev", "flux-schnell", "midjourney", "dall-e-3", "turbo"]
54 vision_models = [default_vision_model, "gpt-4o-mini", "o3-mini", "openai", "openai-large", "searchgpt"]
54 vision_models = [default_vision_model, "gpt-4o-mini", "openai", "openai-large", "searchgpt"]
55 55 extra_text_models = vision_models
56 56 _models_loaded = False
57 57 model_aliases = {
@@ -59,22 +59,19 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
59 59 "gpt-4o-mini": "openai",
60 60 "gpt-4": "openai-large",
61 61 "gpt-4o": "openai-large",
62 "o3-mini": "openai-reasoning",
63 62 "qwen-2.5-coder-32b": "qwen-coder",
64 63 "llama-3.3-70b": "llama",
64 "llama-4-scout": "llamascout",
65 65 "mistral-nemo": "mistral",
66 "gpt-4o-mini": "searchgpt",
67 66 "llama-3.1-8b": "llamalight",
68 67 "llama-3.3-70b": "llama-scaleway",
69 68 "phi-4": "phi",
70 69 "gemini-2.0": "gemini",
71 70 "gemini-2.0-flash": "gemini",
72 71 "gemini-2.0-flash-thinking": "gemini-thinking",
73 "gemini-2.0-flash-thinking": "gemini-reasoning",
74 72 "deepseek-r1": "deepseek-reasoning-large",
75 73 "deepseek-r1": "deepseek-reasoning",
76 74 "deepseek-v3": "deepseek",
77 "qwq-32b": "qwen-reasoning",
78 75 "llama-3.2-11b": "llama-vision",
79 76 "gpt-4o-audio": "openai-audio",
80 77
Modified g4f/gui/client/static/css/style.css +1 -1
@@ -432,7 +432,7 @@ body:not(.white) a:visited{
432 432 padding: 8px 16px;
433 433 margin-bottom: 16px;
434 434 color: inherit;
435 border-left: .25em solid var(--colour-4);
435 border-left: .25em solid var(--media-select);
436 436 }
437 437
438 438 .media-player {
Modified g4f/models.py +13 -8
@@ -183,7 +183,7 @@ o1_mini = Model(
183 183 o3_mini = Model(
184 184 name = 'o3-mini',
185 185 base_provider = 'OpenAI',
186 best_provider = IterListProvider([DDG, Blackbox, PollinationsAI, Liaobots])
186 best_provider = IterListProvider([DDG, Blackbox, Liaobots])
187 187 )
188 188
189 189 ### GigaChat ###
@@ -200,13 +200,13 @@ meta = Model(
200 200 best_provider = MetaAI
201 201 )
202 202
203 # llama 2
203 ### llama 2-4 ###
204 204 llama_2_7b = Model(
205 205 name = "llama-2-7b",
206 206 base_provider = "Meta Llama",
207 207 best_provider = Cloudflare
208 208 )
209 # llama 3
209
210 210 llama_3_8b = Model(
211 211 name = "llama-3-8b",
212 212 base_provider = "Meta Llama",
@@ -219,7 +219,6 @@ llama_3_70b = Model(
219 219 best_provider = Jmuz
220 220 )
221 221
222 # llama 3.1
223 222 llama_3_1_8b = Model(
224 223 name = "llama-3.1-8b",
225 224 base_provider = "Meta Llama",
@@ -238,8 +237,6 @@ llama_3_1_405b = Model(
238 237 best_provider = IterListProvider([AllenAI, Jmuz])
239 238 )
240 239
241 # llama 3.2
242
243 240 llama_3_2_1b = Model(
244 241 name = "llama-3.2-1b",
245 242 base_provider = "Meta Llama",
@@ -264,13 +261,18 @@ llama_3_2_90b = Model(
264 261 best_provider = IterListProvider([DeepInfraChat, Jmuz])
265 262 )
266 263
267 # llama 3.3
268 264 llama_3_3_70b = Model(
269 265 name = "llama-3.3-70b",
270 266 base_provider = "Meta Llama",
271 267 best_provider = IterListProvider([Blackbox, DDG, DeepInfraChat, LambdaChat, PollinationsAI, Jmuz, HuggingChat, HuggingFace])
272 268 )
273 269
270 llama_4_scout = Model(
271 name = "llama-4-scout",
272 base_provider = "Meta Llama",
273 best_provider = IterListProvider([Cloudflare, PollinationsAI])
274 )
275
274 276 ### Mistral ###
275 277 mixtral_8x7b = Model(
276 278 name = "mixtral-8x7b",
@@ -496,7 +498,7 @@ qwen_2_5_max = Model(
496 498 qwq_32b = Model(
497 499 name = 'qwq-32b',
498 500 base_provider = 'Qwen',
499 best_provider = IterListProvider([Blackbox, PollinationsAI, Jmuz, HuggingChat])
501 best_provider = IterListProvider([Blackbox, Jmuz, HuggingChat])
500 502 )
501 503 qvq_72b = VisionModel(
502 504 name = 'qvq-72b',
@@ -818,6 +820,9 @@ class ModelUtils:
818 820
819 821 # llama-3.3
820 822 llama_3_3_70b.name: llama_3_3_70b,
823
824 # llama-4
825 llama_4_scout.name: llama_4_scout,
821 826
822 827 ### Mistral ###
823 828 mixtral_8x7b.name: mixtral_8x7b,