Public Access
Amélioration contraste mobile, traçabilité des IA et filtrage catalogue
Build and Push Docker Image / build-and-push (push) Successful in 35s
Build and Push Docker Image / build-and-push (push) Successful in 35s
This commit is contained in:
1 parent
3e140d7d6f
commit
9fdb2bd73e
7 files changed
+115
-19
No files matched your search
@@ -37,11 +37,12 @@ def executer_synthese_multi_ia(prompt_securise: str, fournisseur: str, mode_paya
|
||||
|
||||
def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False, multi_ia: bool = False, chat_id: str = None):
|
||||
prompt_securise = f"{SYSTEM_CONFIDENTIALITY_INSTRUCTION}\n\nRequête utilisateur :\n{prompt}"
|
||||
trace_tentatives = []
|
||||
|
||||
if multi_ia or fournisseur in ["openrouter_code", "openrouter_droit"]:
|
||||
resultat_multi = executer_synthese_multi_ia(prompt_securise, fournisseur, mode_payant, chat_id)
|
||||
if resultat_multi:
|
||||
return resultat_multi
|
||||
return resultat_multi[0], resultat_multi[1], resultat_multi[2], resultat_multi[3], ["🟢 Multi-IA / Synthèse Gemini réussie"]
|
||||
|
||||
if fournisseur == "gemini":
|
||||
ordre_repli = [interroger_gemini, interroger_openrouter, interroger_local_ollama]
|
||||
@@ -51,6 +52,7 @@ def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False
|
||||
ordre_repli = [interroger_local_ollama, interroger_openrouter, interroger_gemini]
|
||||
|
||||
for fonction_api in ordre_repli:
|
||||
nom_tente = fonction_api.__name__.replace("interroger_", "")
|
||||
try:
|
||||
if fonction_api.__name__ == "interroger_openrouter":
|
||||
texte, couleur, nom_fournisseur, nom_modele, _, _ = fonction_api(
|
||||
@@ -60,9 +62,12 @@ def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False
|
||||
texte, couleur, nom_fournisseur, nom_modele = fonction_api(prompt_securise)
|
||||
|
||||
if texte:
|
||||
return texte, couleur, nom_fournisseur, nom_modele
|
||||
trace_tentatives.append(f"🟢 {nom_tente.upper()} ({nom_modele}) : Succès")
|
||||
return texte, couleur, nom_fournisseur, nom_modele, trace_tentatives
|
||||
except Exception as e:
|
||||
msg_err = str(e).split("-")[0].strip()[:50] # On raccourcit l'erreur pour l'affichage
|
||||
trace_tentatives.append(f"🔴 {nom_tente.upper()} : Échec ({msg_err})")
|
||||
log_event("WARNING", "ORCHESTRATEUR", f"Basculement suite à l'échec de {fonction_api.__name__} : {e}")
|
||||
continue
|
||||
|
||||
raise Exception("Tous les fournisseurs d'IA sont indisponibles.")
|
||||
raise Exception(f"Tous les fournisseurs d'IA ont échoué. Trace : {' | '.join(trace_tentatives)}")
|
||||
Reference in new issue
Block a user