aldohenrique commited on
Commit
f85ff05
·
verified ·
1 Parent(s): 36f6368

Update ai_logic.py

Browse files
Files changed (1) hide show
  1. 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
- Retorna o número de modelos disponíveis (incluindo os iniciais).
 
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
- initial_model_count = len(MODELS)
366
- available_models_during_test = []
367
- unavailable_models = []
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
- if model_label not in MODELS:
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
- DEFAULT_MODEL = MODELS[0]
 
 
 
 
 
 
 
 
 
 
 
383
  print("\n" + "=" * 60)
384
- print("RESULTADOS DA VALIDAÇÃO:")
385
  print("=" * 60)
 
 
386
 
387
- if available_models_during_test:
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()