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

XFEstudio/gpt4free

Refactor audio model handling in PollinationsAI; remove unused default audio model and simplify model selection logic

29bd0e3a
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +2 -11
Modified g4f/Provider/PollinationsAI.py +2 -11
@@ -61,11 +61,10 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
61 61 fallback_model = "deepseek"
62 62 default_image_model = "flux"
63 63 default_vision_model = default_model
64 default_audio_model = "openai-audio"
65 64 default_voice = "alloy"
66 65 text_models = [default_model]
67 66 image_models = [default_image_model, "turbo", "kontext"]
68 audio_models = {default_audio_model: []}
67 audio_models = {}
69 68 vision_models = [default_vision_model]
70 69 _gen_models_loaded = False
71 70 _free_models_loaded = False
@@ -174,8 +173,6 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
174 173 all_models = cls.text_models.copy()
175 174 all_models.extend(cls.image_models)
176 175 all_models.extend(cls.audio_models.keys())
177 if cls.default_audio_model in cls.audio_models:
178 all_models.extend(cls.audio_models[cls.default_audio_model])
179 176 cls.models = all_models
180 177 # Cache the models to a file
181 178 try:
@@ -202,7 +199,6 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
202 199 {"group": "Image Generation", "models": cls.image_models},
203 200 {"group": "Video Generation", "models": cls.video_models},
204 201 {"group": "Audio Generation", "models": list(cls.audio_models.keys())},
205 {"group": "Audio Voices", "models": cls.audio_models.get(cls.default_audio_model, [])},
206 202 ]
207 203
208 204 @classmethod
@@ -250,7 +246,7 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
250 246 if is_data_an_audio(media_data, filename):
251 247 has_audio = True
252 248 break
253 model = cls.default_audio_model if has_audio else cls.default_model
249 model = "openai-audio" if has_audio else cls.default_model
254 250 elif (cls._gen_models_loaded if api_key else cls._free_models_loaded) or cls.get_models(api_key=api_key, timeout=kwargs.get("timeout")):
255 251 if model in cls.model_aliases:
256 252 model = cls.model_aliases[model]
@@ -284,11 +280,6 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
284 280 "role": "user",
285 281 "content": prompt
286 282 }]
287 if model and model in cls.audio_models[cls.default_audio_model]:
288 kwargs["audio"] = {
289 "voice": model,
290 }
291 model = cls.default_audio_model
292 283 async for result in cls._generate_text(
293 284 model=model,
294 285 messages=messages,