code-education-rag / README.md
FabIndy's picture
fix: restore HF Spaces YAML metadata in README
1239c9a
---
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.