# Mentor DZ
Tuteur IA en darija algerienne pour les lyceens preparant le BAC.
## Le constat
Les eleves algeriens preparant le BAC ont un acces inegal au soutien scolaire.
Les ressources existantes sont generalement en francais standard ou en arabe
classique, rarement dans la langue que ces eleves parlent reellement au
quotidien : la darija.
## Ce que fait Mentor DZ
Un bot Telegram qui repond aux questions des eleves en darija algerienne,
sur un ton chaleureux, avec deux contraintes fortes imposees au modele de
langage :
- **Fidelite factuelle stricte** : toute formule, date ou definition provient
d'un contenu verifie (programme officiel algerien), jamais improvisee
- **Coherence culturelle** : exemples systematiquement conformes aux valeurs
islamiques (aucune reference a l'interet bancaire, illustrations halal)
## Architecture
Le systeme repose sur cinq modules :
| Module | Role |
|---|---|
| `mentor_bot.py` | Bot Telegram (polling), transmet les questions au serveur |
| `mentor_dz_server.py` | Serveur FastAPI persistant : RAG, memoire, generation |
| `mentor_api.py` | API HTTP complementaire (usage manuel/test) |
| Recherche documentaire (RAG) | Un index vectoriel distinct par matiere, interroge selon la matiere detectee dans la question |
| Memoire (Mem0 + Qdrant) | Historique persistant par eleve entre les sessions |
## Flux de traitement
1. Reception de la question via Telegram
2. Detection de la matiere (analyse lexicale)
3. Recherche du contenu pertinent dans l'index de la matiere concernee
(recherche vectorielle par similarite semantique)
4. Construction d'un prompt imposant la restitution fidele des faits
5. Generation de la reponse en darija par le modele de langage
6. Alerte automatique (webhook) en cas de reponse vide ou d'erreur
## Stack technique
- Embeddings : `BAAI/bge-small-en-v1.5`
- Generation : `openai/gpt-oss-120b` (via Groq)
- Indexation : LlamaIndex, decoupage fin par sections thematiques
- Memoire : Mem0 + Qdrant (stockage local) …