# Adaptive Engine (IA)

Ce microservice FastAPI fournit une implementation heuristique du **Moteur d'Adaptation** decrit dans le rapport STAS. Il ne remplace pas un modele IA complet mais reproduit la logique attendue :

- Profilage dynamique a partir des logs d'interaction recents.
- Generation d'un prompt structure pour un LLM et d'un script destine a l'avatar.
- Projection des indicateurs (style, niveau de competence, risque d'echec) pour mettre a jour `TBL_PROFIL_ADAPTATIF`.

## Demarrage rapide

```bash
cd ai/adaptive-engine
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn app.main:app --reload --port 8001
```

L'endpoint principal est `POST /api/v1/adapt` et retourne la structure consommee par l'API Laravel (`AdaptiveDecisionController`).

## Format d'appel

```json
{
  "mode_generation": "script",
  "eleve": {"id": 12, "nom": "Sara El Idrissi"},
  "profil": {"profil_id": 8, "style_prefere_calcule": "visuel_structure"},
  "contenu_source": {"id": 4, "titre": "Equation du 1er degre", "contenu_brut": "..."},
  "recent_interactions": [
    {"evenement_type": "REPONSE_ERRONEE", "element_concerne": "qcm#4"}
  ]
}
```

Le service emet une reponse contenant `decision_type`, `prompt`, `script`, `contraintes_sortie` et `profil_projection`. Cette reponse est persistee dans MySQL via le backend Laravel (`adaptations/generate`).
