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

XFEstudio/gpt4free

Fix model lists in LMArena

6473c768
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

2 个文件 +15 -15
Modified g4f/Provider/PollinationsAI.py +4 -3
@@ -13,7 +13,7 @@ from .helper import filter_none, format_media_prompt
13 13 from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
14 14 from ..typing import AsyncResult, Messages, MediaListType
15 15 from ..image import is_data_an_audio
16 from ..errors import ModelNotFoundError, MissingAuthError
16 from ..errors import MissingAuthError
17 17 from ..requests.raise_for_status import raise_for_status
18 18 from ..requests.aiohttp import get_connector
19 19 from ..image import use_aspect_ratio
@@ -151,8 +151,6 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
151 151 elif model.get("name") not in cls.text_models:
152 152 cls.text_models.append(model.get("name"))
153 153
154 cls._models_loaded = True
155
156 154 except Exception as e:
157 155 # Save default models in case of an error
158 156 if not cls.text_models:
@@ -161,6 +159,9 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
161 159 cls.image_models = [cls.default_image_model]
162 160 debug.error(f"Failed to fetch models: {e}")
163 161
162 finally:
163 cls._models_loaded = True
164
164 165 # Return unique models across all categories
165 166 all_models = cls.text_models.copy()
166 167 all_models.extend(cls.image_models)
Modified g4f/Provider/needs_auth/LMArenaBeta.py +11 -12
@@ -138,7 +138,8 @@ class LMArenaBeta(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
138 138 model_aliases = {
139 139 "flux-kontext": "flux-1-kontext-pro",
140 140 }
141 image_models = list(image_models)
141 image_models = image_models
142 text_models = text_models
142 143 vision_models = vision_models
143 144 looked = False
144 145 _models_loaded = False
@@ -157,13 +158,11 @@ class LMArenaBeta(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
157 158 if "initialModels" in line:
158 159 line = line.split("initialModels", maxsplit=1)[-1].split("initialModelAId")[0][3:-3].replace('\\', '')
159 160 models = json.loads(line)
160 text_models = {model["publicName"]: model["id"] for model in models if "text" in model["capabilities"]["outputCapabilities"]}
161 image_models = {model["publicName"]: model["id"] for model in models if "image" in model["capabilities"]["outputCapabilities"]}
162 vision_models = [model["publicName"] for model in models if "image" in model["capabilities"]["inputCapabilities"]]
163 cls.models = list(text_models) + list(image_models)
164 cls.image_models = list(image_models)
165 cls.vision_models = vision_models
166 cls.default_model = list(text_models.keys())[0]
161 cls.text_models = {model["publicName"]: model["id"] for model in models if "text" in model["capabilities"]["outputCapabilities"]}
162 cls.image_models = {model["publicName"]: model["id"] for model in models if "image" in model["capabilities"]["outputCapabilities"]}
163 cls.vision_models = [model["publicName"] for model in models if "image" in model["capabilities"]["inputCapabilities"]]
164 cls.models = list(cls.text_models) + list(cls.image_models)
165 cls.default_model = list(cls.text_models.keys())[0]
167 166 cls._models_loaded = True
168 167 break
169 168 else:
@@ -186,10 +185,10 @@ class LMArenaBeta(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
186 185 model = cls.default_model
187 186 if model in cls.model_aliases:
188 187 model = cls.model_aliases[model]
189 if model in image_models:
190 model = image_models[model]
191 elif model in text_models:
192 model = text_models[model]
188 if model in cls.text_models:
189 model = cls.text_models[model]
190 elif model in cls.image_models:
191 model = cls.image_models[model]
193 192 elif model in cls.model_aliases:
194 193 model = cls.model_aliases[model]
195 194 debug.log(f"Using model alias: {model}")