5.8 KiB
Runbook local - generation ANE
Runbook court pour lancer et diagnostiquer la generation locale via mascarade.
Comparatif de reference: docs/MODEL_COMPARISON_2026-03-22.md
Prerequis
mascaraderepond surhttp://127.0.0.1:8100/health- le modele reste explicite via
ANE_MODELou--model - une intention existe pour le chapitre cible
- les fichiers chapitre doivent rester canoniques:
chapitre_01.md,chapitre_02.md, etc. - le garde-fou manuscrit et la boucle
repairpeuvent bloquer la promotion meme avec--approve
Cycle automatise
Commande de reference:
python3 scripts/run_next_lots.py --lot full
Commandes utiles:
python3 scripts/run_next_lots.py --lot priority_models
python3 scripts/run_next_lots.py --resume automation/state/next_lots_state.json
python3 scripts/run_next_lots.py --lot tracking_sync --report-only
Le driver:
- lit
automation/next_lots.toml - rejoue preflights et smokes dans l'ordre utile du moment
- met a jour les sections
AUTO-SYNCdes TODOs, plans, README et runbooks - attend brievement que
/modelsreflète le bonmodel_idapres un switch Apple avant de recréer un checkpoint manuel - s'arrete proprement si un restart runtime ou un switch Apple est requis, puis imprime la commande de reprise
Lecture operateur utile:
python3 scripts/ops_tui.py --watch --interval 3
python3 scripts/next_lots_tui.py --watch --interval 2
Contrat local
ai-novel-engine parle uniquement a mascarade sur POST /v1/chat/completions.
- format modele:
provider:model - chemin par defaut actuel: le manifeste route les providers via
:8100 - chemin alternatif:
:8091ne doit etre utilise qu'apres bascule explicite versllama.cpp - reference historique Apple:
automation/reports/apple_rerun_preset_20260313T223555Zestaccepted - reference automatisee la plus recente dans ce repo:
automation/reports/20260323T213131Z/SUMMARY.mdconfirmemistral:mistral-large-latest - les reruns Ollama historiques restent utiles pour comprendre les blocages
quality_blockedetprovider_failed - le runtime Apple local ne sert qu'un seul
model_ida la fois - le fallback
repairn'essaie plus de changer de modeleapple-coremlen plein smoke; tout switch Apple reste une action runtime explicite
Smoke Apple
Preflight minimal cote runtime:
bash /Users/electron/Documents/Projets/mascarade/scripts/smoke_openai_compat_ane.sh \
--url http://127.0.0.1:8100 \
--model "apple-coreml:qwen3.5-4b-onnx-q4f16"
Smoke chapitre complet:
./scripts/smoke_local_generation.sh \
--base-url http://127.0.0.1:8100 \
--model "apple-coreml:qwen3.5-4b-onnx-q4f16" \
--approve
Notes:
- le script fait un warm-up automatique via
:8100quand le modele commence parapple-coreml: - le premier chargement Core ML peut etre long
- le smoke Apple applique par defaut un timeout plus large et des budgets plus courts; utiliser
--timeoutouANE_MAX_TOKENS_*pour durcir ou assouplir ANE_MAX_TOKENS_GATEpermet de regler le budget du garde-fou LLMANE_MAX_TOKENS_REPAIRetANE_REPAIR_MAX_PASSESreglent la bouclerepairapple-coreml:qwen2.5-0.5b-instruct-onnxreste le candidat vitesse Apple a requalifier en baselineapple-coreml:qwen3.5-4b-onnx-q4f16reste la reference Apple historique acceptee dans ce repoapple-coreml:stateful-mistral7b-instruct-int4-coremlreste archive hors lot utile sur cette machine: il repond, mais le smoke ANE est reste bloque astructurependant plus de 8 minutes
Smoke Ollama
Preflight:
bash /Users/electron/Documents/Projets/mascarade/scripts/smoke_openai_compat_ane.sh \
--url http://127.0.0.1:8100 \
--model "ollama:qwen2.5:1.5b"
Le provider ollama doit apparaitre dans providers et le modele cible doit etre deja installe.
Par defaut, les smokes Ollama passent eux aussi par :8100 tant que automation/next_lots.toml garde ollama_openai_base_url = "http://127.0.0.1:8100".
Sur cette machine, ollama:qwen2.5:7b reste le candidat qualite historique et qwen2.5:1.5b une baseline de regression.
Chemin alternatif llama.cpp:
bash ./scripts/prepare_llama_cpp_runtime.sh \
--model qwen2.5:7b \
--port 8091
Puis regler automation/next_lots.toml ainsi:
ollama_runtime = "openai_compatible"
ollama_openai_base_url = "http://127.0.0.1:8091"
Le script prepare une commande llama-server qui resolve directement le blob GGUF depuis Ollama et publie les alias ollama:qwen2.5:7b et qwen2.5:7b, ce qui laisse le pipeline ANE inchangé.
Smoke chapitre complet:
./scripts/smoke_local_generation.sh \
--base-url http://127.0.0.1:8100 \
--model "ollama:qwen2.5:1.5b" \
--approve
Lire rapidement le resultat
Le smoke affiche un resume humain:
backendchapterstatusacceptedfailed_stagesi presentquality_blockerssi presentsretry_stagessi presentrepair_attemptsetrepair_modelssi presents- chemins vers
draft_v2,repair_latest,critique_v1,gate_v1,manuscript,memory_summary,meta.json
Le fichier de reference reste:
cat brouillons/chapitres/chapitre_XX/meta.json
Champs utiles:
statuslast_status_messagestage_attemptsretry_stagesfailed_stagequality_blockersrepair_attemptsrepair_modelsgate_reportprovider.base_urlprovider.model
Etat auto-synchronise
- dernier cycle automatise: 2026-03-23T21:34:05+00:00
- chapitre courant detecte: chapitre_01
- reference locale actuelle: mistral:mistral-large-latest
- prochain lot utile: Reference locale reconfirmee; retablir le runtime des modeles provider_failed avant de poursuivre.
- reprise attendue apres action manuelle: /Users/electron/Documents/Lelectron_rare/ai-novel-engine/automation/state/next_lots_state.json