| # 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 <nom>` 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. |
|
|