返回提交历史
Modified
g4f/Provider/PollinationsAI.py
+2
-11
XFEstudio/gpt4free
Refactor audio model handling in PollinationsAI; remove unused default audio model and simplify model selection logic
29bd0e3a
代码差异
1 个文件
+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,