Ce dépôt contient l'infrastructure ML d'IDEM : serveur d'inférence (Ollama / vLLM), outils de fine-tuning (LLaMA-Factory), datasets et scripts de gestion du cycle de vie du modèle GLM-5.3.
Le cycle de vie ML est fondamentalement différent du cycle de vie d'une application web :
| Aspect | App Web (idem) | ML (idem-ml) |
|---|---|---|
| Langage | TypeScript / Node.js | Python |
| Dépendances | npm, ~200 MB | PyTorch, CUDA/CANN, ~10+ GB |
| CI/CD | Build → Test → Deploy (minutes) | Train → Evaluate → Export → Deploy (heures/jours) |
| Artéfacts | Images Docker ~500 MB | Poids de modèle ~10-40 GB |
| Matériel | CPU standard | GPU NVIDIA / NPU Huawei Ascend |
idem-ml/
├── docker/ # Dockerfiles et docker-compose
│ ├── docker-compose.yml # Stack complète (Ollama + LLaMA-Factory)
│ ├── ollama/ # Config Ollama pour dev local
│ └── vllm/ # Config vLLM pour production (Ascend/NVIDIA)
├── models/ # Modèles et adaptateurs LoRA
│ ├── base/ # Poids de base (gitignored, trop volumineux)
│ └── adapters/ # Adaptateurs LoRA fine-tunés (versionnable)
├── datasets/ # Données d'entraînement
│ ├── raw/ # Données brutes (prompts IDEM, réponses attendues)
│ └── processed/ # Données formatées pour LLaMA-Factory
├── training/ # Scripts et configs d'entraînement
│ ├── configs/ # Fichiers YAML de configuration LLaMA-Factory
│ └── scripts/ # Scripts de lancement d'entraînement
├── evaluation/ # Scripts d'évaluation qualité
│ └── benchmarks/ # Benchmarks maison (qualité HTML, respect brief…)
├── scripts/ # Utilitaires
│ ├── setup-local.sh # Installation Ollama + téléchargement modèle
│ └── export-model.sh # Export d'un LoRA fusionné
├── docs/ # Documentation
│ └── hardware-requirements.md
├── .gitignore
├── requirements.txt # Dépendances Python
└── README.md
- macOS / Linux
- Ollama installé
- 32 GB de RAM minimum
# 1. Cloner le dépôt
git clone git@github.com:Idem-AI/idem-ml.git
cd idem-ml
# 2. Installer Ollama et télécharger le modèle
./scripts/setup-local.sh
# 3. Le modèle est disponible sur http://localhost:11434/v1# L'API IDEM peut maintenant s'y connecter via IDEM_LLM_URLDans le dépôt idem, le fichier .env.dev contient déjà :
IDEM_LLM_URL=http://localhost:11434/v1IDEM_LLM_API_KEY=ollamaToutes les features configurées avec LLMProvider.IDEM seront automatiquement
routées vers votre modèle local.
Voir la section training/ pour les guides de fine-tuning avec LLaMA-Factory. Le workflow type est :
- Collecter les données (prompts IDEM + réponses idéales) →
datasets/raw/ - Formater en conversations Alpaca/ShareGPT →
datasets/processed/ - Entraîner un adaptateur LoRA →
models/adapters/ - Évaluer sur les benchmarks maison →
evaluation/ - Fusionner le LoRA dans le modèle de base →
models/base/ - Déployer via Ollama (dev) ou vLLM (prod)
Ce dépôt est indépendant du monorepo idem (Node.js/TypeScript). La seule
interface entre les deux est l'API OpenAI-compatible exposée par le serveur
d'inférence.