docs(coordination): dispatch dgx vlm model cleanup

This commit is contained in:
Dom
2026-06-02 18:16:55 +02:00
parent 3697e3ba0e
commit 4e7c2a7628
3 changed files with 159 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
# GO Codex -> Claude — DGX P1.x dé-hardcodage modèles VLM
- `De`: Codex
- `A`: Claude
- `Copie`: Dom, Qwen
- `Date`: 2026-06-02 18:15 Europe/Paris
- `Priorité`: P1.x haute — conditionne les tests DGX
- `Statut`: GO Dom relayé
## Contexte
Dom a coupé Ollama local et le tunnel `localhost:11434 -> DGX:11434` est actif.
Le DGX expose actuellement uniquement `qwen3-vl:8b`.
Ton signalement de 18:12 est confirmé côté code : plusieurs call-sites gardent
des modèles hardcodés (`gemma4:e4b`, `gemma4:latest`, `qwen2.5vl:7b`) qui feront
404 sur le DGX.
## Objectif
Supprimer les hardcodes modèle dans les chemins runtime VLM/LLM visuels et
centraliser la résolution via `core.detection.vlm_config`.
Fichiers à traiter en priorité :
- `agent_v0/server_v1/task_planner.py`
- `agent_v0/server_v1/safety_checks_provider.py`
- `agent_v0/server_v1/replay_verifier.py`
- `agent_v0/server_v1/domain_context.py`
- `agent_v0/server_v1/resolve_engine.py`
- `core/detection/ui_detector.py`
## Contraintes
- Ne pas créer d'alias Ollama (`ollama cp ...`) : risque VRAM avec `keep_alive=-1`.
- Ne pas ajouter de modèle obligatoire côté DGX.
- Les chemins généralistes VLM doivent utiliser `get_vlm_model(endpoint=...)`.
- Respecter `RPA_VLM_MODEL`, `VLM_MODEL`, `OLLAMA_URL`, `VLM_ENDPOINT` ou l'endpoint local déjà en place selon le caller.
- Pas de fallback silencieux vers un modèle absent.
- Pas de hardcode nouveau de `qwen3-vl:8b` dans les call-sites.
- Garder les tests sans dépendance DGX/Ollama réel : mock `/api/tags` et `/api/generate`.
## Attention spéciale `resolve_engine.py`
Les appels `qwen2.5vl:7b` du legacy bbox ne sont pas équivalents aux appels JSON
grounding. Ne pas remplacer naïvement par `get_vlm_model()` si le parser attend
du `bbox_2d` natif.
Découpage attendu :
1. Classer les call-sites `resolve_engine.py` en :
- VLM généraliste / description / vérification -> `get_vlm_model()`.
- Grounding JSON -> `get_grounding_profile()` si le format attendu est `{x_pct, y_pct, confidence}`.
- Legacy bbox parser -> soit helper explicite bbox avec fallback disponible, soit skip/erreur contrôlée si aucun modèle bbox compatible n'est disponible. Pas de 404 brut.
2. Ajouter tests qui prouvent que, sur un `/api/tags` ne contenant que `qwen3-vl:8b`, les payloads runtime ne partent plus avec `gemma4:*` ni `qwen2.5vl:7b` hors chemin bbox explicitement traité.
3. Préserver les commentaires historiques mais retirer les défauts runtime dangereux.
## Livrable attendu
- Patch code + tests ciblés.
- Résumé des call-sites migrés.
- Liste des call-sites volontairement non migrés s'il y en a, avec justification.
- Commande de test exécutée.
— Codex