Public Access
Auto-updater, limites CPU 60% et facturation corrigés
Build and Push Docker Image / build-and-push (push) Successful in 1m55s
Build and Push Docker Image / build-and-push (push) Successful in 1m55s
This commit is contained in:
1 parent
71d6f51ee0
commit
b4ed2947d4
15 files changed
+7413
-122
No files matched your search
+35
-4
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
from datetime import datetime
|
||||
from modules.logger import log_event
|
||||
|
||||
# Définition du chemin racine sécurisé sur ton RAID
|
||||
@@ -53,16 +54,46 @@ def extraire_contexte_rag(thematique):
|
||||
|
||||
def rechercher_contexte_rag(prompt, categorie="general"):
|
||||
"""
|
||||
Fonction appelée par le chat_handler pour récupérer le contexte.
|
||||
Pour l'instant, c'est un bouchon qui empêche le crash du serveur.
|
||||
Bouchon temporaire : empêche le plantage en attendant la vectorisation sémantique avancée.
|
||||
"""
|
||||
try:
|
||||
# À terme, nous ferons le lien intelligent ici avec extraire_contexte_rag()
|
||||
# et une analyse sémantique. Pour l'instant on renvoie vide pour tester.
|
||||
return ""
|
||||
except Exception as e:
|
||||
log_event("ERROR", "RAG_MANAGER", f"Erreur lors de la recherche RAG : {e}")
|
||||
return ""
|
||||
|
||||
def auto_apprendre_rag(prompt, reponse, thematique_simplifiee):
|
||||
"""
|
||||
Sauvegarde automatiquement les réponses pertinentes pour enrichir la base de connaissances.
|
||||
"""
|
||||
# Mapping entre le mot-clé deviné par Qwen et le vrai nom de ton dossier
|
||||
mapping = {
|
||||
"minecraft": "Minecraft_KubeJS",
|
||||
"droit": "Juridique_Loi_Francaise",
|
||||
"serveur": "Serveur_Debian",
|
||||
"excel": "Bureautique_Excel",
|
||||
"regles": "Regles_Aethas38"
|
||||
}
|
||||
|
||||
theme_reel = mapping.get(thematique_simplifiee.lower())
|
||||
if not theme_reel:
|
||||
return # Si Qwen n'a pas détecté de thème précis (ex: "aucun"), on n'enregistre rien pour ne pas polluer.
|
||||
|
||||
try:
|
||||
chemin_theme = os.path.join(RAG_BASE_DIR, theme_reel)
|
||||
os.makedirs(chemin_theme, exist_ok=True)
|
||||
|
||||
nom_fichier = f"apprentissage_{datetime.now().strftime('%Y%m%d_%H%M%S')}.md"
|
||||
chemin_fichier = os.path.join(chemin_theme, nom_fichier)
|
||||
|
||||
contenu = f"## Question utilisateur\n{prompt}\n\n## Réponse de l'IA (Contexte validé)\n{reponse}\n"
|
||||
|
||||
with open(chemin_fichier, 'w', encoding='utf-8') as f:
|
||||
f.write(contenu)
|
||||
|
||||
log_event("INFO", "RAG_MANAGER", f"Nouvelle connaissance acquise et sauvegardée dans {theme_reel} ({nom_fichier}).")
|
||||
except Exception as e:
|
||||
log_event("ERROR", "RAG_MANAGER", f"Erreur lors de l'auto-apprentissage : {e}")
|
||||
|
||||
# On s'assure que les dossiers existent dès l'import du module
|
||||
initialiser_arborescence_rag()
|
||||
Reference in new issue
Block a user