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