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

XFEstudio/gpt4free

Fix unittests

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

代码差异

3 个文件 +18 -3
Modified etc/unittest/models.py +9 -2
@@ -1,3 +1,5 @@
1 import asyncio
2 import inspect
1 3 import unittest
2 4 from typing import Type
3 5 from requests.exceptions import RequestException
@@ -24,7 +26,9 @@ class TestProviderHasModel(unittest.TestCase):
24 26 continue
25 27 if issubclass(provider, ProviderModelMixin):
26 28 try:
27 provider.get_models(timeout=5) # Update models
29 result = provider.get_models(timeout=5) # Update models
30 if inspect.isawaitable(result):
31 result = asyncio.run(result)
28 32 if (
29 33 provider.model_aliases
30 34 and model.name in provider.model_aliases
@@ -39,7 +43,10 @@ class TestProviderHasModel(unittest.TestCase):
39 43 def provider_has_model(self, provider: Type[BaseProvider], model: str):
40 44 if provider.__name__ not in self.cache:
41 45 try:
42 self.cache[provider.__name__] = list(provider.get_models())
46 provider_models = provider.get_models()
47 if inspect.isawaitable(provider_models):
48 provider_models = asyncio.run(provider_models)
49 self.cache[provider.__name__] = list(provider_models)
43 50 except (MissingRequirementsError, PaymentRequiredError, MissingAuthError):
44 51 return
45 52 if self.cache[provider.__name__]:
Modified g4f/Provider/needs_auth/Gemini.py +1 -0
@@ -149,6 +149,7 @@ MODEL_ALIASES = {
149 149 "gemini-3.5-flash-thinking-lite": "gemini-3.5-flash-lite",
150 150 "gemini-3.5-flash-lite-thinking": "gemini-3.5-flash-lite",
151 151 "gemini-flash-lite": "gemini-3.5-flash-lite",
152 **{key: key for key in models.keys()},
152 153 }
153 154 EXPANDED_MODEL_ALIASES = {
154 155 "gemini-2.0-flash-thinking",
Modified g4f/providers/any_provider.py +8 -1
@@ -1,5 +1,7 @@
1 1 from __future__ import annotations
2 2
3 import asyncio
4 import inspect
3 5 import os
4 6 import re
5 7 import json
@@ -180,6 +182,8 @@ class AnyModelProviderMixin(ProviderModelMixin):
180 182 continue
181 183 try:
182 184 new_models = provider.get_models()
185 if inspect.isawaitable(new_models):
186 new_models = asyncio.run(new_models)
183 187 except Exception as e:
184 188 debug.error(
185 189 f"Error getting models for provider {provider.__name__}:", e
@@ -493,7 +497,10 @@ class AnyProvider(AsyncGeneratorProvider, AnyModelProviderMixin):
493 497 if provider is None or not provider.working:
494 498 continue
495 499 try:
496 if model in provider.get_models():
500 provider_models = provider.get_models()
501 if inspect.isawaitable(provider_models):
502 provider_models = asyncio.run(provider_models)
503 if model in provider_models:
497 504 providers.append(provider)
498 505 elif (
499 506 provider.model_aliases is not None