Spaces:
Running
Running
File size: 5,238 Bytes
1239c9a 39c7c75 1239c9a 39c7c75 ffab5bd 39c7c75 ffab5bd 39c7c75 1239c9a 39c7c75 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | ---
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.
|