Backup état complet après enregistrement vidéo démo de bout en bout. À utiliser comme point de référence pour la consolidation post-démo. Changements majeurs de la session 18-19 mai : - AIVA-URGENCE : page autonome avec preset URL + auto-focus chain - Workflow Demo_urgence_3_db : merge linux_db + steps AIVA + pause humaine NoMachine - Bypass LLM (static_result / static_text) dans replay_engine pour démos déterministes sans appel Ollama - Fix api_stream:3013 — replay_paused au premier polling /next - dag_execute : lift duration_ms vers top-level pour wait runtime - NPM bypass auth /aiva-urgence/ via location ^~ (proxy_host/10.conf hors git) - scripts/cancel-replays.sh — workaround Stop VWB qui ne purge pas la queue Anchors visuels (468) forcés dans le commit pour garantir restorabilité. DB workflows actuelle + ~12 .bak DB de la journée incluses. Sujets identifiés pour consolidation post-démo (TODO) : 1. Bug VWB recapture anchor ne régénère pas le PNG 2. Léa client accumule état mémoire (restart périodique requis) 3. Stop VWB ne purge pas la queue serveur (lien manquant vers /replay/cancel) 4. Bug coord client mss tronqué 2560x60 → mapping Y cassé 5. delay_before/delay_after ignorés au runtime (fix partiel duration_ms) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Bench mini-LLM NLP fr pour Léa
Test : 14 commandes représentatives (traite N, code N, traite tous, IPP spécifique, stop, questions).
Résultats
| Modèle | Accuracy | Parse JSON | p50 latence | p95 latence |
|---|---|---|---|---|
llama3.2:1b |
29% | 100% | 416 ms | 1548 ms |
qwen2.5:0.5b |
14% | 100% | 400 ms | 1452 ms |
gemma3:1b |
93% | 100% | 377 ms | 1500 ms |
Verdict
- gemma3:1b — accuracy 93%, p50 377 ms
- llama3.2:1b — accuracy 29%, p50 416 ms
- qwen2.5:0.5b — accuracy 14%, p50 400 ms
Recommandation : gemma3:1b
Cas d'échec (top 5 par modèle)
llama3.2:1b
Léa, traite-moi 3 dossiers→ wrong_count: got None expected 3code-moi les 4 premiers dossiers→ wrong_count: got None expected 4Léa peux-tu traiter 2 dossiers s'il te plaît ?→ wrong_count: got None expected 2fais-moi les 3 premiers→ wrong_count: got None expected 3j'aimerais que tu traites 6 dossiers→ wrong_order: got 'all' expected 'first'
qwen2.5:0.5b
Léa, traite-moi 3 dossiers→ wrong_order: got 'all' expected 'first'traite 5 dossiers→ wrong_action: got None expected 'process_patients'code-moi les 4 premiers dossiers→ wrong_count: got 1 expected 4Léa peux-tu traiter 2 dossiers s'il te plaît ?→ wrong_count: got None expected 2fais-moi les 3 premiers→ wrong_count: got 1 expected 3
gemma3:1b
comment tu traites un dossier ?→ wrong_action: got 'process_patients' expected 'unknown'
Prompt système utilisé
Tu es un parseur d'intentions pour Léa, assistant RPA médical.
Réponds UNIQUEMENT en JSON valide, sans texte avant/après, selon ce schéma :
{"action": "process_patients" | "stop" | "unknown", "count": <int|null>, "order": "first" | "last" | "all" | "specific" | null, "ipp": "<string>" | null}
Règles :
- "traite N dossiers" / "code N dossiers" / "fais les N premiers" → action=process_patients, count=N, order="first"
- "traite tous les dossiers" → action=process_patients, count=null, order="all"
- "traite le dossier 25003364" → action=process_patients, count=1, order="specific", ipp="25003364"
- "stop" / "arrête" / "annule" → action=stop
- Question ("comment", "pourquoi") → action=unknown
- Si tu ne comprends pas → action=unknown