--- title: Code Éducation RAG emoji: 📘 colorFrom: blue colorTo: green sdk: gradio sdk_version: "4.44.1" python_version: "3.11" app_file: app.py pinned: false --- # Code Éducation RAG **Assistant juridique RAG pour le Code de l’éducation français** --- ## 🇫🇷 PARTIE 1 — README (Français) ### 1. Présentation générale **Code Éducation RAG** est une application de **Retrieval‑Augmented Generation (RAG)** dédiée au **Code de l’éducation français**. Application Hugging Face : https://huggingface.co/spaces/FabIndy/code-education-rag Objectif principal : **faire gagner du temps aux chefs d’établissement et personnels de direction**, en leur permettant de : - retrouver rapidement les articles pertinents ; - consulter le **texte officiel exact** ; - obtenir un **résumé IA clair et rapide** ; - poser des **questions juridiques ciblées**. L’application est déployée sur **Hugging Face Spaces** et utilise **l’API Groq** pour les générations IA (latence très faible). --- ### 2. Architecture du projet ``` hf-code-education/ ├── app.py # Interface utilisateur (HF Space) ├── src/ │ ├── rag_core.py # Orchestrateur central (routage des modes) │ ├── list.py # Mode LIST : recherche d’articles │ ├── fulltext.py # Texte officiel exact │ ├── synthesis.py # Synthèse extractive contrôlée │ ├── qa.py # Résumé IA & QA via Groq │ ├── resources.py # Accès API Groq │ ├── config.py # Paramètres globaux │ └── utils.py # Fonctions utilitaires ├── data/ # Chunks JSONL (1 article = 1 chunk) ├── db/ # Index FAISS ├── requirements.txt └── README.md ``` --- ### 3. Fonctionnement du RAG Le système repose sur une **séparation stricte des responsabilités**, indispensable en contexte juridique. #### Mode LIST - Recherche lexicale + sémantique - Inspirée de Légifrance (mots‑clés, proximité, centralité) - **Sortie : liste d’articles pertinents** - Aucune génération IA #### Mode TEXTE OFFICIEL - Chargement du texte exact depuis les chunks - **Aucune transformation** - Zéro interprétation #### Mode RÉSUMÉ IA Pipeline contrôlé et rapide : 1. Pré‑traitement par `synthesis.py` (extraction de segments clés) 2. Envoi des extraits à l’API **Groq** 3. Génération d’un résumé court et structuré Mention explicite : > *Résumé IA : reformulation automatique pouvant contenir des erreurs ou omissions.* #### Mode QUESTION IA (QA) - Analyse de la question - Contexte strictement limité au texte officiel - Réponse concise et juridiquement prudente --- ### 4. Pourquoi Groq ? - Latence tres faible - Aucun modèle local à charger - Scalabilité immédiate - API gratuite Les modèles locaux GGUF ont été abandonnés (lenteur, complexité, usage peu réaliste). --- ### 5. Estimation d’utilisation quotidienne de l’API Groq Hypothèse réaliste : - 100 résumés IA / jour - 100 questions IA / jour | Usage | Tokens estimés | |-----------|---------------------------| | Résumés | ~12 000 | | Questions | ~22 000 | | **Total** | **~34 000 tokens / jour** | --- ### 6. Variables d’environnement utilisées Variables actives : ``` GROQ_API_KEY GROQ_MODEL=llama-3.1-8b-instant GROQ_MAX_TOKENS_SUMMARY=120 GROQ_MAX_TOKENS_QA=220 GROQ_TEMPERATURE=0.1 ``` --- ## 🇬🇧 PART 2 — README (English) ### 1. Overview **Code Éducation RAG** is a **Retrieval‑Augmented Generation (RAG)** system dedicated to the **French Education Code**. Hugging Face : https://huggingface.co/spaces/FabIndy/code-education-rag It enables: - fast article retrieval, - access to official legal texts, - concise AI summaries, - focused legal Q&A. The app is deployed on **Hugging Face Spaces** and powered by the **Groq API**. --- ### 2. Architecture ``` hf-code-education/ ├── app.py ├── src/ │ ├── rag_core.py │ ├── list.py │ ├── fulltext.py │ ├── synthesis.py │ ├── qa.py │ ├── resources.py │ ├── config.py │ └── utils.py ├── data/ ├── db/ └── README.md ``` --- ### 3. RAG Modes **LIST** – lexical + semantic retrieval, no AI **OFFICIAL TEXT** – exact legal content **AI SUMMARY** – controlled extractive context + Groq **AI QA** – cautious interpretation based on official text only --- ### 4. Why Groq? - Ultra‑low latency - No local model loading - High reliability - Free plan --- ### 5. Estimated Daily Groq Usage | Usage | Tokens | |-----------|----------------| | Summaries | ~12k | | Q&A | ~22k | | **Total** | **~34k / day** | --- ### 6. Environment Variables ``` GROQ_API_KEY GROQ_MODEL GROQ_MAX_TOKENS_SUMMARY GROQ_MAX_TOKENS_QA GROQ_TEMPERATURE ``` --- ## Conclusion This project implements a **pragmatic legal RAG system**, designed for **real professional use**, prioritizing: - reliability, - explainability, - speed, - technical sobriety.