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.