Spaces:
Sleeping
Sleeping
fix(gemini): filter available models to flash variants only, excluding pro and image models
Browse files- services/genai_service.py +16 -3
services/genai_service.py
CHANGED
|
@@ -42,9 +42,22 @@ def list_available_models():
|
|
| 42 |
models = []
|
| 43 |
for m in genai.list_models():
|
| 44 |
if 'generateContent' in m.supported_generation_methods:
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
# Ordena inversamente pelo nome para tentar mostrar versões mais novas (2.5 > 1.5) primeiro
|
| 50 |
models.sort(key=lambda x: x['name'], reverse=True)
|
|
|
|
| 42 |
models = []
|
| 43 |
for m in genai.list_models():
|
| 44 |
if 'generateContent' in m.supported_generation_methods:
|
| 45 |
+
name_lower = m.name.lower()
|
| 46 |
+
|
| 47 |
+
# Regras estritas de filtro para garantir compatibilidade
|
| 48 |
+
# 1. Deve ser da família Gemini
|
| 49 |
+
if 'gemini' not in name_lower:
|
| 50 |
+
continue
|
| 51 |
+
|
| 52 |
+
# 2. Deve ser da variante 'flash' (mais estável para esta conta)
|
| 53 |
+
if 'flash' not in name_lower:
|
| 54 |
+
continue
|
| 55 |
+
|
| 56 |
+
# 3. Exclui variantes problemáticas ou não suportadas
|
| 57 |
+
if any(x in name_lower for x in ['image', 'vision', 'pro']):
|
| 58 |
+
continue
|
| 59 |
+
|
| 60 |
+
models.append({"id": m.name, "name": m.display_name})
|
| 61 |
|
| 62 |
# Ordena inversamente pelo nome para tentar mostrar versões mais novas (2.5 > 1.5) primeiro
|
| 63 |
models.sort(key=lambda x: x['name'], reverse=True)
|