docs(coordination): dispatch dgx vlm model cleanup
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user