jackailocal / docs /MODEL_SOURCES.md
jackboy70's picture
Deploy: accurate lite-builder note
f25362a
|
Raw
History Blame Contribute Delete
3.81 kB
# Sources de modèles et backends supportés
Comment les modèles entrent dans un package JackAILocal, selon le backend
d'exécution. Les modèles sont préchargés au moment du build (factory ou
builder) — jamais téléchargés à l'usage chez le client.
## Vue d'ensemble
| Source | Backend cible | Format | Outil de préchargement |
|---|---|---|---|
| Registre Ollama (`registry.ollama.ai`) | Ollama | blobs Ollama | `ollama pull` orchestré par les builders (`Pull-OllamaModels`) |
| Hugging Face (`huggingface.co`) | llama.cpp | GGUF | `factory/powershell/Install-GGUFModels.ps1` + `manifest/gguf-downloads.json` |
| Hugging Face (`huggingface.co`) | vLLM | safetensors (repo HF complet) | `huggingface-cli download` vers `models/hf/` (appliance Linux) |
| NVIDIA `build.nvidia.com` / NGC | NIM (conteneur) | conteneur NIM + moteur TRT-LLM | `docker pull nvcr.io/nim/...` (appliance GPU NVIDIA seulement) |
## 1. Ollama (canal par défaut)
Le catalogue (`config/model-catalog.json`) référence des modèles Ollama
(`qwen3.5:*`, `gemma4:12b`, `qwen3-vl:*`). Les builders Windows/macOS
démarrent un Ollama de build sur un port dédié, font `ollama pull` selon le
manifest, et le store résultant (`models/ollama/`) part sur la clé. C'est le
chemin recommandé pour USB/SSD/installateur.
## 2. Hugging Face — GGUF pour llama.cpp
Pour un modèle absent du registre Ollama ou pour le fallback llama.cpp :
décrire les fichiers dans `manifest/gguf-downloads.json` (URL `resolve/main`
de huggingface.co + SHA-256), puis exécuter `Install-GGUFModels.ps1`. Les
fichiers atterrissent dans `models/gguf/` et le serveur llama.cpp les sert en
API compatible OpenAI.
`config/model-alias-map.json` fait la correspondance entre IDs Hugging Face
et références Ollama quand les deux existent.
## 3. Hugging Face — repos complets pour vLLM (appliance Linux GPU)
vLLM consomme les repos HF en safetensors. Sur l'appliance :
```bash
pip install vllm huggingface_hub
huggingface-cli download Qwen/Qwen3.5-9B-Instruct --local-dir /opt/JackAILocal/models/hf/qwen3.5-9b
backends/vllm/linux/start-vllm.sh /opt/JackAILocal/models/hf/qwen3.5-9b # API OpenAI sur 127.0.0.1:8000
```
Le runtime jackailocald le consomme via la config `[backends.llamacpp]`
(toute API compatible OpenAI). Réservé aux machines Linux avec GPU dédié.
## 4. NVIDIA build.nvidia.com — NIM (appliance GPU NVIDIA)
Les modèles de `build.nvidia.com/models` se déploient localement sous forme
de microservices NIM (conteneurs NGC, moteurs TensorRT-LLM optimisés).
Exigences : GPU NVIDIA récent, Docker + NVIDIA Container Toolkit, clé API
NGC (gratuite) **au moment du build seulement** — l'exécution est locale.
Voir `deploy/appliance/nim-compose.example.yml`. Étapes :
```bash
docker login nvcr.io # $oauthtoken / clé NGC
docker compose -f nim-compose.example.yml pull # au build, avec Internet
docker compose -f nim-compose.example.yml up -d # chez le client, hors ligne
```
Le NIM expose une API compatible OpenAI sur le port configuré; pointer
`[backends.llamacpp].url` dessus. Attention aux licences propres à chaque
modèle NIM (NVIDIA AI Enterprise pour certains) — vérifier la fiche du modèle
sur build.nvidia.com avant de l'intégrer à une offre commerciale.
## Règles
- Aucun téléchargement de modèle au lancement chez le client (offline-first).
- Chaque modèle ajouté doit passer par `config/model-catalog.json` (limite
`hackathon_max_params_b` appliquée par l'agent de config).
- Chaque modèle ajouté doit avoir sa licence vérifiée et inscrite dans
`licenses/THIRD_PARTY_NOTICES.md` (voir la mise en garde voix Piper).
- L'agent d'analyse de configuration est **Gemma 4 12B** (`gemma4:12b`),
localement via Ollama ou `google/gemma-4-12B-it` via l'endpoint distant.