jackailocal / docs /MODEL_SOURCES.md
jackboy70's picture
Deploy: accurate lite-builder note
f25362a
|
Raw
History Blame Contribute Delete
3.81 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade

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 :

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 :

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.