code-education-rag / README.md
FabIndy's picture
fix: restore HF Spaces YAML metadata in README
1239c9a

A newer version of the Gradio SDK is available: 6.10.0

Upgrade
metadata
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.