Views
No views yet
mistralai/Ministral-3-3B-Instruct-2512-BF16, converti en GGUF texte et quantifié Q8_0, servi par Ollama sur CPU. Frère cadet du candidat 8B/GPU (IngeniumDL/ingenium-expert-lms-8b-instruct) : même produit, même harnais, même dataset — seuls le modèle de base et le moteur d'inférence changent.1hf download IngeniumDL/ingenium-expert-lms-3b-instruct-gguf --local-dir ingenium-3b-gguf
2cd ingenium-3b-gguf
3
4GGUF_PATH=./ingenium-expert-lms-3b-instruct-grounded-v0.1.0-Q8_0.gguf \
5 docker compose -f docker-compose.cpu.yml up --build --detach1curl http://127.0.0.1:8080/health
2
3curl -X POST http://127.0.0.1:8080/ask \
4 -H "Content-Type: application/json" \
5 -d '{
6 "question": "Comment créer un utilisateur dans Moodle ?",
7 "context": {
8 "moodle_release": "4.5.12 (Build: 20260608)",
9 "moodle_version_code": "2024100712",
10 "branch": "405",
11 "locale": "fr",
12 "theme": "boost",
13 "route_class": "admin_users",
14 "capabilities": {"moodle/user:create": true}
15 }
16 }'docker compose -f docker-compose.cpu.yml down127.0.0.1:8080) ; Ollama reste sur le réseau interne du compose et n'est jamais joignable directement, comme pour le paquet 8B/vLLM.CLI-LLM/ingenium-cli, Linux x86-64 statique) permet de tester la chaîne réelle CLI → harnais → Ollama sans manipuler le JSON de l'API :1chmod +x CLI-LLM/ingenium-cli
2./CLI-LLM/ingenium-cli --profile learner "Comment déposer mon devoir dans Moodle ?"
3./CLI-LLM/ingenium-cli --profile admin "Comment créer un utilisateur dans Moodle ?"learner. Les profils admin, teacher, learner et guest simulent uniquement les capacités du contexte de test, pas un mécanisme d'authentification.1ollama create ingenium-expert-lms-3b-instruct -f deploy/ollama/Modelfile.ingenium-3b
2ollama run ingenium-expert-lms-3b-instructModelfile fourni est requis, pas seulement recommandé : Ollama ne traduit pas automatiquement le chat_template.jinja Mistral embarqué dans le GGUF. Sans le TEMPLATE explicite du Modelfile, Ollama retombe sur un gabarit brut qui ignore la structure système/utilisateur attendue par le modèle et dégrade fortement la qualité des réponses (constaté empiriquement).routing-v1 — un guide_id (ou module_ids), un scope/status et une confiance, jamais les étapes détaillées ni le contenu d'une formation :{"scope":"IN_DOMAIN","domain":"MOODLE_USAGE","status":"ANSWER","guide_id":"core.admin.user.create","confidence":"high"}guide_id existe réellement dans un registre de procédures, que des étapes affichées à l'utilisateur sont correctes, ni que les capacités requises sont respectées. C'est le rôle du harnais fourni dans ce paquet (harness/, src/, config/, schemas/, data/) de refermer ces garanties.response_format: {"type": "json_object"} est accepté par l'API compatible OpenAI d'Ollama mais n'est pas un décodage contraint par grammaire comme sur vLLM : la validité JSON constatée (800/800 sur la campagne de qualification scellée) repose sur l'entraînement du modèle, pas sur une garantie structurelle du moteur.| Chemin | Rôle |
|---|---|
ingenium-expert-lms-3b-instruct-grounded-v0.1.0-Q8_0.gguf | poids quantifiés Q8_0 (texte uniquement, tour vision exclue) |
deploy/ollama/Modelfile.ingenium-3b | Modelfile Ollama (gabarit de chat, température, contexte) utilisé par le compose |
schemas/ | contrats context-v1, procedure-v1, module-v1, routing-v1 et response-v2 |
config/guides-v1.json, config/module-registry-v1.json | registres d'identifiants fermés |
config/capabilities-v1.json | capacités Moodle acceptées dans le contexte |
config/routing-prompt-v1.txt | system prompt envoyé au modèle par le harnais |
data/procedures/, data/modules/ | contenu canonique rendu par le harnais |
harness/, src/ | garde, correspondance catalogue, validation et rendu fail-closed |
docker/ollama/, docker-compose.cpu.yml | image Ollama personnalisée et paquet de déploiement CPU |
CLI-LLM/ | binaire Linux x86-64 et sources Go du client |
merge-report.json | inventaire SHA-256 du modèle fusionné |
docs/creer-des-fiches.md | procédure détaillée pour ajouter de nouvelles connaissances (procédures, formations) |
mistralai/Ministral-3-3B-Instruct-2512-BF16, révision d8d116d9345d21aa3df1b76bf8a9a1a29d0ced1e ;llama.cpp (convert_hf_to_gguf.py puis llama-quantize … Q8_0) ;config/guides-v1.json, config/module-registry-v1.json), le harnais rend ensuite la fiche canonique stockée dans data/procedures/ ou data/modules/. Ajouter une connaissance consiste donc à enrichir ces registres, pas à réécrire le modèle :route_class: "unknown". Une question du domaine MOODLE_USAGE reçue avec route_class: "unknown" fait retomber le harnais sur les 50 procédures complètes comme candidats, produisant un prompt d'environ 3700 tokens — au-delà des 2048 tokens vus à l'entraînement. num_ctx a été porté à 4096 dans le Modelfile pour éviter un échec de transport ; testé manuellement, le modèle a correctement identifié la procédure malgré cette longueur inhabituelle, mais avec une latence proche de 30 s et sans garantie de qualité au-delà de cet essai ponctuel. Cette lacune de couverture affecte probablement aussi le service 8B/vLLM, qui partage le même harnais.OLLAMA_NUM_PARALLEL=1) ; la qualification a été menée à concurrence 1.merge-report.json pour l'inventaire SHA-256 du modèle fusionné, les révisions et versions logicielles.