fix: SomEngine resolve — raccourci texte + proximité, fallback VLM robuste

- Match texte exact avant partiel pour éviter les faux positifs
- Disambiguïsation par proximité (center_norm) quand plusieurs matchs
- Prompt VLM simplifié (liste labelée, 30 max, JSON concis)
- Fallback regex pour extraire un numéro de réponse VLM non-JSON
- Résultat : 0.3s par texte vs 5-15s par VLM

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-03-31 09:45:20 +02:00
parent 4c76dca992
commit 13390a71e7
2 changed files with 105 additions and 16 deletions

View File

@@ -252,7 +252,7 @@ class TestResolveBySom:
assert result is not None
assert result["resolved"] is True
assert result["method"] == "som_vlm"
assert result["method"] in ("som_vlm", "som_text_match")
assert abs(result["x_pct"] - 0.5104) < 0.001
assert abs(result["y_pct"] - 0.5139) < 0.001
assert result["matched_element"]["som_id"] == 9