Public Access
Mise a jour module éduction nationale
Build and Push Docker Image / build-and-push (push) Successful in 37s
Build and Push Docker Image / build-and-push (push) Successful in 37s
This commit is contained in:
1 parent
6be6a71264
commit
06c74ee4a5
1 file changed
+55
@@ -0,0 +1,55 @@
|
||||
import os
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
from modules.logger import log_event
|
||||
|
||||
EDUCATION_RAG_DIR = "/DATA/AppData/MULTI-IA-AETHAS38/RAG/Education_Nationale"
|
||||
|
||||
def synchroniser_programmes_officiels():
|
||||
"""
|
||||
Scrape ou récupère les données textuelles de référence pour alimenter
|
||||
automatiquement le RAG Éducation Nationale.
|
||||
"""
|
||||
os.makedirs(EDUCATION_RAG_DIR, exist_ok=True)
|
||||
|
||||
# Exemple de source institutionnelle publique ou de structuration de base
|
||||
url_reference = "https://www.education.gouv.fr/les-programmes-de-l-ecole-prime-et-du-college-1041"
|
||||
|
||||
try:
|
||||
headers = {"User-Agent": "Aethas38-EducationBot/1.0"}
|
||||
response = requests.get(url_reference, headers=headers, timeout=10)
|
||||
|
||||
if response.status_code == 200:
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
# Extraction propre du contenu textuel des programmes
|
||||
contenu_page = ""
|
||||
for paragraph in soup.find_all(['p', 'h2', 'h3', 'li']):
|
||||
contenu_page += paragraph.get_text() + "\n"
|
||||
|
||||
if len(contenu_page.strip()) > 100:
|
||||
chemin_fichier = os.path.join(EDUCATION_RAG_DIR, "programmes_officiels_socle.txt")
|
||||
with open(chemin_fichier, 'w', encoding='utf-8') as f:
|
||||
f.write(contenu_page)
|
||||
log_event("INFO", "EDUC_RAG", "Synchronisation réussie des programmes officiels.")
|
||||
return True
|
||||
log_event("WARNING", "EDUC_RAG", "Impossible de joindre la source ou contenu vide.")
|
||||
except Exception as e:
|
||||
log_event("ERROR", "EDUC_RAG", f"Erreur lors de la synchronisation : {e}")
|
||||
|
||||
return False
|
||||
|
||||
def preparer_contexte_pedagogique(niveau: str, matiere: str, objectif: str) -> str:
|
||||
"""
|
||||
Prépare un prompt contextuel strict pour l'assistant pédagogique
|
||||
en s'appuyant sur le RAG Éducation Nationale.
|
||||
"""
|
||||
from modules.rag_manager import extraire_contexte_rag
|
||||
contexte_socle = extraire_contexte_rag("Education_Nationale")
|
||||
|
||||
prompt_systeme = (
|
||||
f"Tu es un assistant pédagogique expert pour un Professeur des Écoles en France. "
|
||||
f"Tu dois respecter strictement les programmes officiels de l'Éducation Nationale.\n\n"
|
||||
f"Contexte institutionnel et programmes :\n{contexte_socle[:3000]}\n\n"
|
||||
f"Mission demandée pour le niveau {niveau} en {matiere} : {objectif}"
|
||||
)
|
||||
return prompt_systeme
|
||||
Reference in new issue
Block a user