ce chatbot comprend et repond aux utilisateur en derja
# Chatbot Dialecte Tunisien (Derja) – 5 Pipelines
Système complet de chatbot en Derja tunisien, organisé en cinq pipelines indépendants.
---
## Structure du projet
```
derja_chatbot/
├── pipeline_1_data.py # Acquisition et prétraitement des données
├── pipeline_2_nmt.py # NMT Seq2Seq Transformer (PyTorch)
├── pipeline_3_nlu.py # NLU : tokenisation + intentions + entités
├── pipeline_4_dialogue.py # Gestion du dialogue et génération de réponses
├── pipeline_5_evaluation.py # BLEU, précision NLU, taux de succès, éval. humaine
├── main.py # Point d'entrée – exécute les 5 pipelines
├── app.py # Interface Streamlit interactive
├── demo_langchain.py # Démonstration du mode LangChain
└── requirements.txt
```
---
## Corpus utilisés
| Corpus | Source HuggingFace | Contenu |
|---|---|---|
| **Derja Ninja** | `Zaid/derja_ninja` | Paires parallèles Anglais ↔ Derja |
| **TArC** | `ARBML/TArC` | Texte Arabizi tunisien + translittération |
| **HAMZAOUI** | `hamzabouajila/tunisian-derja-unified-raw-corpus` | Texte brut monolingue Derja |
---
## 🚀 Mode Intelligent avec LangChain + LLM
Le chatbot supporte maintenant deux modes de génération de réponses :
### Mode Traditionnel (par défaut)
- Réponses basées sur des gabarits prédéfinis
- Logique de dialogue structurée
- Rapide et déterministe
### Mode Intelligent (LangChain)
- Réponses générées par IA (GPT-3.5-turbo)
- Mémoire contextuelle des conversations
- Réponses naturelles et fluides
- Compréhension avancée du langage
### Configuration du Mode Intelligent
1. **Obtenir une clé API OpenAI :**
```bash
# Créez un compte sur
platform.openai.com
# Générez une clé API dans les paramètres
```
2. **Définir la variable d'environnement :**
```bash
export OPENAI_API_KEY="votre-clé-api-ici"
```
3. **Utiliser le mode intelligent :**
**Via Streamlit :**
```bash
streamlit run app.py
# Sélectionnez "Intelligent (LangChain + LLM)" dans la sidebar
# En …