Spaces:
Running
Running
Update ai_logic.py
Browse files- ai_logic.py +37 -28
ai_logic.py
CHANGED
@@ -356,51 +356,60 @@ api_client = HuggingFaceAPIClient(HF_TOKEN)
|
|
356 |
def test_and_update_models() -> int:
|
357 |
"""
|
358 |
Testa a disponibilidade dos novos modelos e atualiza a lista MODELS.
|
359 |
-
|
|
|
360 |
"""
|
361 |
print("Testando disponibilidade dos novos modelos...")
|
362 |
print(f"Token HF disponível: {'Sim' if HF_TOKEN else 'Não'}")
|
363 |
print("-" * 60)
|
364 |
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
for model_label, model_name in NEW_MODELS_TO_TEST:
|
|
|
|
|
|
|
|
|
370 |
is_available, message = api_client.test_model_availability(model_name)
|
371 |
|
372 |
if is_available:
|
373 |
-
|
374 |
-
MODELS[model_label] = model_name
|
375 |
-
available_models_during_test.append((model_label, model_name, message))
|
376 |
print(f"✓ {model_label}")
|
377 |
else:
|
378 |
-
unavailable_models.append((model_label, model_name, message))
|
379 |
print(f"✗ {model_label} - {message}")
|
380 |
|
381 |
time.sleep(1)
|
382 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
print("\n" + "=" * 60)
|
384 |
-
print("
|
385 |
print("=" * 60)
|
|
|
|
|
386 |
|
387 |
-
|
388 |
-
print(f"\n✓ MODELOS DISPONÍVEIS (novos e testados: {len(available_models_during_test)}):")
|
389 |
-
for label, name, msg in available_models_during_test:
|
390 |
-
print(f" - {label}")
|
391 |
-
print(f" {name}")
|
392 |
-
print(f" Status: {msg}")
|
393 |
-
print()
|
394 |
-
|
395 |
-
if unavailable_models:
|
396 |
-
print(f"\n✗ MODELOS NÃO DISPONÍVEIS ({len(unavailable_models)}):")
|
397 |
-
for label, name, msg in unavailable_models:
|
398 |
-
print(f" - {label}")
|
399 |
-
print(f" {name}")
|
400 |
-
print(f" Motivo: {msg}")
|
401 |
-
print()
|
402 |
-
|
403 |
-
print(f"TOTAL DE MODELOS ATUALMENTE DISPONÍVEIS: {len(MODELS)}")
|
404 |
print("=" * 60)
|
405 |
|
406 |
save_updated_models()
|
|
|
356 |
def test_and_update_models() -> int:
|
357 |
"""
|
358 |
Testa a disponibilidade dos novos modelos e atualiza a lista MODELS.
|
359 |
+
Garante que o DEFAULT_MODEL seja sempre o primeiro da lista.
|
360 |
+
Retorna o número de modelos disponíveis.
|
361 |
"""
|
362 |
print("Testando disponibilidade dos novos modelos...")
|
363 |
print(f"Token HF disponível: {'Sim' if HF_TOKEN else 'Não'}")
|
364 |
print("-" * 60)
|
365 |
|
366 |
+
# Cria um dicionário temporário para os modelos disponíveis
|
367 |
+
temp_models = {}
|
368 |
+
|
369 |
+
# Primeiro verifica o modelo padrão
|
370 |
+
default_label, default_name = "Mistral 7B (Mais acertivo)", "mistralai/Mistral-7B-Instruct-v0.3"
|
371 |
+
is_available, message = api_client.test_model_availability(default_name)
|
372 |
+
|
373 |
+
if is_available:
|
374 |
+
temp_models[default_label] = default_name
|
375 |
+
print(f"✓ {default_label} (DEFAULT MODEL)")
|
376 |
+
else:
|
377 |
+
print(f"✗ {default_label} - {message} (MODELO PADRÃO INDISPONÍVEL)")
|
378 |
+
|
379 |
+
# Depois verifica os outros modelos
|
380 |
for model_label, model_name in NEW_MODELS_TO_TEST:
|
381 |
+
# Pula o modelo padrão se já foi testado
|
382 |
+
if model_label == default_label and model_name == default_name:
|
383 |
+
continue
|
384 |
+
|
385 |
is_available, message = api_client.test_model_availability(model_name)
|
386 |
|
387 |
if is_available:
|
388 |
+
temp_models[model_label] = model_name
|
|
|
|
|
389 |
print(f"✓ {model_label}")
|
390 |
else:
|
|
|
391 |
print(f"✗ {model_label} - {message}")
|
392 |
|
393 |
time.sleep(1)
|
394 |
+
|
395 |
+
# Atualiza MODELS garantindo que o padrão seja o primeiro
|
396 |
+
global MODELS
|
397 |
+
MODELS.clear()
|
398 |
+
|
399 |
+
# Adiciona primeiro o modelo padrão (se disponível)
|
400 |
+
if default_label in temp_models:
|
401 |
+
MODELS[default_label] = temp_models.pop(default_label)
|
402 |
+
|
403 |
+
# Adiciona os demais modelos
|
404 |
+
MODELS.update(temp_models)
|
405 |
+
|
406 |
print("\n" + "=" * 60)
|
407 |
+
print("MODELOS DISPONÍVEIS (ORDEM):")
|
408 |
print("=" * 60)
|
409 |
+
for i, (label, name) in enumerate(MODELS.items(), 1):
|
410 |
+
print(f"{i}. {label}")
|
411 |
|
412 |
+
print(f"\nTOTAL DE MODELOS DISPONÍVEIS: {len(MODELS)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
print("=" * 60)
|
414 |
|
415 |
save_updated_models()
|