# Adapters LoRA — personnalisation des modèles par client JackAILocal supporte les adapters LoRA au format GGUF, intégrés **au moment du build** comme tout le reste (rien n'est téléchargé chez le client). C'est le mécanisme de personnalisation pour le white-label B2B : un client d'affaires fournit son adapter fine-tuné (ton, vocabulaire métier, langue) et chaque clé livrée embarque « son » modèle. ## Comment ça marche 1. Le fine-tuning est fait en dehors de JackAILocal (axolotl, unsloth, PEFT…) puis l'adapter est converti en **GGUF** (`convert_lora_to_gguf.py` de llama.cpp). L'adapter doit cibler exactement le modèle de base packagé (ex. `qwen3.5:4b`) — un adapter entraîné sur un autre base model produit du bruit. 2. Déclarer l'adapter dans `manifest/lora-adapters.json` (voir `manifest/lora-adapters.example.json`) : nom du modèle final, modèle de base, fichier (URL + SHA-256 ou chemin local), prompt système optionnel, paramètres (`temperature`, `num_ctx`…). 3. Pendant le build, `factory/powershell/Install-LoraAdapters.ps1` : - place l'adapter dans `models/lora/`, - génère un Modelfile (`FROM base` + `ADAPTER fichier` + SYSTEM/PARAMETER), - exécute `ollama create ` dans le store Ollama de la cible. 4. Ajouter le modèle créé au catalogue (`Add-ModelToCatalog.ps1`) pour que le runtime puisse le sélectionner, et inscrire la licence de l'adapter dans `licenses/THIRD_PARTY_NOTICES.md`. ## Backend llama.cpp Le serveur llama.cpp accepte aussi les adapters au lancement : `llama-server -m base.gguf --lora adapter.gguf`. Convention identique : fichiers sous `models/lora/`. ## Limites - LoRA sur modèles **quantifiés** : Ollama applique l'adapter sur le modèle de base tel quel; pour une qualité maximale, fusionner l'adapter dans les poids avant quantification (merge + quantize) et livrer un GGUF fusionné dans `models/gguf/` à la place. - Un adapter = un modèle nommé dans le store; l'espace disque est celui du base model (partagé) + l'adapter (petits Mo). - Toujours vérifier la licence du dataset de fine-tuning du client avant redistribution.