Files
xavier 06c74ee4a5
Build and Push Docker Image / build-and-push (push) Successful in 37s
Mise a jour module éduction nationale
2026-08-27 21:53:28 +02:00

55 lines
2.4 KiB
Python

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