MAJ Globale : Chemins absolus (NAS), Model Updater auto, Timeout 90s OpenRouter, Pop-up et traçabilité financière
Build and Push Docker Image / build-and-push (push) Successful in 1m48s

This commit is contained in:
xavier committed 2026-08-22 03:08:57 +02:00
1 parent b4ed2947d4
commit 632c23069a
9 files changed
+66 -89

No files matched your search

+9 -6
View File
@@ -9,6 +9,8 @@ load_dotenv()
api_key_openrouter = os.getenv("OPENROUTER_API_KEY") or "sk-or-v1-cle-non-definie"
client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=api_key_openrouter)
# Chemin ABSOLU strict
CATALOGUE_FILE = "/DATA/AppData/MULTI-IA-AETHAS38/catalogue_dynamique.json"
def verifier_cle_api():
@@ -33,7 +35,6 @@ def obtenir_modele_dynamique(premium: bool):
return priorites[0] if priorites else (free_models[0] if free_models else "google/gemma-2-9b-it:free")
except Exception:
pass
# Fallbacks absolus si fichier introuvable
return "anthropic/claude-3.5-sonnet" if premium else "google/gemma-2-9b-it:free"
def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", premium: bool = False, max_retries: int = 2, chat_id: str = None):
@@ -52,7 +53,7 @@ def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", pre
messages=[{"role": "user", "content": prompt}],
extra_headers={"HTTP-Referer": "https://aethas38.duckdns.org", "X-Title": "Aethas38 Multi-IA"},
extra_body=extra_body_data,
timeout=25.0
timeout=90.0 # TIMEOUT MONTE A 90s
)
texte = response.choices[0].message.content
usage = response.usage
@@ -63,9 +64,11 @@ def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", pre
except Exception as e:
log_event("WARNING", "OPENROUTER", f"Tentative {tentative + 1} échouée pour {nom_modele_api} : {e}")
if tentative == max_retries - 1:
# Force la MAJ du catalogue si le modèle crashe
from modules.model_updater import trigger_update_now
trigger_update_now()
try:
from modules.model_updater import trigger_update_now
trigger_update_now()
except Exception:
pass
raise e
time.sleep(1)
@@ -89,7 +92,7 @@ def interroger_openrouter_multi(prompt: str, type_modele: str = "openrouter_code
messages=[{"role": "user", "content": prompt}],
extra_headers={"HTTP-Referer": "https://aethas38.duckdns.org", "X-Title": "Aethas38 Multi-IA"},
extra_body=extra_body_data,
timeout=15.0
timeout=90.0 # TIMEOUT MONTE A 90s
)
contenu = res.choices[0].message.content
if contenu: