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

XFEstudio/gpt4free

Fix unittests

8f43a4eb
hlohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

3 个文件 +13 -12
Modified etc/unittest/models.py +4 -1
@@ -2,6 +2,7 @@ import unittest
2 2 from typing import Type
3 3 from requests.exceptions import RequestException
4 4
5 from g4f.Provider import __getattr__
5 6 from g4f.models import __models__
6 7 from g4f.providers.base_provider import BaseProvider, ProviderModelMixin
7 8 from g4f.errors import MissingRequirementsError, MissingAuthError
@@ -12,7 +13,8 @@ class TestProviderHasModel(unittest.TestCase):
12 13 def test_provider_has_model(self):
13 14 for model, providers in __models__.values():
14 15 for provider in providers:
15 if provider.needs_auth:
16 provider = __getattr__(provider)
17 if getattr(provider, "needs_auth", False):
16 18 continue
17 19 if issubclass(provider, ProviderModelMixin):
18 20 try:
@@ -38,4 +40,5 @@ class TestProviderHasModel(unittest.TestCase):
38 40 def test_all_providers_working(self):
39 41 for model, providers in __models__.values():
40 42 for provider in providers:
43 provider = __getattr__(provider)
41 44 self.assertTrue(provider.working, f"{provider.__name__} in {model.name}")
Modified g4f/models.py +7 -8
@@ -120,7 +120,6 @@ default = Model(
120 120 "WeWordle",
121 121 "TeachAnything",
122 122 "OpenaiChat",
123 "Cloudflare",
124 123 ])
125 124 )
126 125
@@ -268,7 +267,7 @@ meta = Model(
268 267 llama_2_7b = Model(
269 268 name = "llama-2-7b",
270 269 base_provider = "Meta Llama",
271 best_provider = IterListProvider(["Cloudflare"])
270 best_provider = None
272 271 )
273 272
274 273 llama_2_70b = Model(
@@ -281,7 +280,7 @@ llama_2_70b = Model(
281 280 llama_3_8b = Model(
282 281 name = "llama-3-8b",
283 282 base_provider = "Meta Llama",
284 best_provider = IterListProvider(["Together", "Cloudflare"])
283 best_provider = IterListProvider(["Together"])
285 284 )
286 285
287 286 llama_3_70b = Model(
@@ -294,7 +293,7 @@ llama_3_70b = Model(
294 293 llama_3_1_8b = Model(
295 294 name = "llama-3.1-8b",
296 295 base_provider = "Meta Llama",
297 best_provider = IterListProvider(["Together", "Cloudflare"])
296 best_provider = IterListProvider(["Together"])
298 297 )
299 298
300 299 llama_3_1_70b = Model(
@@ -313,7 +312,7 @@ llama_3_1_405b = Model(
313 312 llama_3_2_1b = Model(
314 313 name = "llama-3.2-1b",
315 314 base_provider = "Meta Llama",
316 best_provider = "Cloudflare"
315 best_provider = None
317 316 )
318 317
319 318 llama_3_2_3b = Model(
@@ -345,7 +344,7 @@ llama_3_3_70b = Model(
345 344 llama_4_scout = Model(
346 345 name = "llama-4-scout",
347 346 base_provider = "Meta Llama",
348 best_provider = IterListProvider(["PollinationsAI", "Together", "Cloudflare"])
347 best_provider = IterListProvider(["PollinationsAI", "Together"])
349 348 )
350 349
351 350 llama_4_maverick = Model(
@@ -526,7 +525,7 @@ command_a = Model(
526 525 qwen_1_5_7b = Model(
527 526 name = 'qwen-1.5-7b',
528 527 base_provider = 'Qwen',
529 best_provider = "Cloudflare"
528 best_provider = None
530 529 )
531 530
532 531 # qwen-2
@@ -779,7 +778,7 @@ flux_canny = ImageModel(
779 778 flux_kontext_max = ImageModel(
780 779 name = 'flux-kontext',
781 780 base_provider = 'Black Forest Labs',
782 best_provider = IterListProvider(["PollinationsAI", "Azure", "Together"])
781 best_provider = IterListProvider(["PollinationsAI", "Together"])
783 782 )
784 783
785 784 flux_dev_lora = ImageModel(
Modified projects/discord-bot/bot.py +2 -3
@@ -51,7 +51,7 @@ MAX_TOOL_LOOPS = int(os.getenv("G4F_MAX_TOOL_LOOPS", "4")) # safety cap
51 51
52 52 # Simple validation for runtime model names.
53 53 ALLOWED_MODEL_CHARS = set(
54 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_."
54 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.:"
55 55 )
56 56
57 57 # Comma-separated list of tools to enable at startup (default: safe set).
@@ -452,7 +452,7 @@ async def searchmodel(
452 452 msg = f"**Matches for `{query}`:**\n" + "\n".join(shown)
453 453 if len(matches) > limit_val:
454 454 msg += f"\n…(showing first {limit_val} of {len(matches)})"
455 await interaction.followup.send(_truncate(msg, 1900), ephemeral=True)
455 await interaction.followup.send(_truncate(msg, 1900))
456 456
457 457
458 458 @bot.tree.command(name="image", description="Generate an image from a prompt.")
@@ -570,7 +570,6 @@ async def on_message(message: discord.Message):
570 570
571 571 prompt = message.content.strip()
572 572 if not prompt:
573 await message.channel.send("🖼️ Usage: !img <prompt>")
574 573 return
575 574
576 575 try: