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>
54 lines
2.3 KiB
Markdown
54 lines
2.3 KiB
Markdown
# 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
|
|
|
|
1. **gemma3:1b** — accuracy 93%, p50 377 ms
|
|
2. **llama3.2:1b** — accuracy 29%, p50 416 ms
|
|
3. **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 3
|
|
- `code-moi les 4 premiers dossiers` → wrong_count: got None expected 4
|
|
- `Léa peux-tu traiter 2 dossiers s'il te plaît ?` → wrong_count: got None expected 2
|
|
- `fais-moi les 3 premiers` → wrong_count: got None expected 3
|
|
- `j'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 4
|
|
- `Léa peux-tu traiter 2 dossiers s'il te plaît ?` → wrong_count: got None expected 2
|
|
- `fais-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
|
|
``` |