Arabic/Darija Patient Assistance Chatbot API
# 🏥 Arabic/Darija Patient Assistance Chatbot API
Chatbot médical multilingue (Darija / Arabe / Français) exposé via une API REST.
---
## 📁 Structure du Projet
```
chatbot-medical/
│
├── data/
│ └── dataset.json ← 20 exemples annotés Darija/Arabe/Français
│
├── models/
│ └── intent_model.py ← Détection d'intention + génération de réponse
│
├── api/
│ └── main.py ← API FastAPI (endpoints text + voice)
│
├── utils/
│ ├── language_detection.py ← Détection langue (Darija/Arabe/Français)
│ ├── entity_extraction.py ← Extraction entités (médicament, symptôme, quantité)
│ └── speech_to_text.py ← Transcription audio avec Whisper
│
├── tests/
│ └── test_scenarios.py ← 12 scénarios de test avec rapport
│
├── requirements.txt ← Dépendances Python
└── README.md ← Ce fichier
```
---
## ⚙️ Installation (Jour 1)
### 1. Cloner / créer le projet
```bash
mkdir chatbot-medical && cd chatbot-medical
```
### 2. Créer un environnement virtuel
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
### 3. Installer les dépendances
```bash
pip install -r requirements.txt
```
> ⚠️ **Note sur Whisper**: L'installation de `openai-whisper` peut prendre du temps et nécessite `ffmpeg`.
> Installez ffmpeg:
ffmpeg.org
---
## 🚀 Lancement de l'API (Jour 3)
```bash
cd api
python main.py
```
L'API sera disponible sur: **
http://localhost:8000**
Documentation interactive: **
localhost
---
## 🔌 Endpoints
### `POST /analyze/text` — Analyser du texte
```bash
curl -X POST "
localhost" \
-H "Content-Type: application/json" \
-d '{"text": "bghit dwa dial rassi"}'
```
**Réponse:**
```json
{
"input": "bghit dwa dial rassi",
"language": "darija",
"language_label": "Darija (Marocain)",
"intent": "demande_medicament",
"intent_label": "Demande de médicament",
"co …