feat(cli): charger les moteurs optionnels depuis les modeles embarques

This commit is contained in:
2026-06-17 19:52:29 +02:00
parent 9b40fc0a85
commit ea1752d4a7
5 changed files with 120 additions and 9 deletions

View File

@@ -64,3 +64,22 @@ def test_default_probes_run_without_crash_and_are_consistent():
for cap in caps.values():
assert isinstance(cap.available, bool)
assert isinstance(cap.reason, str) and cap.reason
def test_optional_engines_require_bundled_models(monkeypatch, tmp_path):
monkeypatch.setattr(ec, "_has_module", lambda name: name in {"onnxruntime", "edsnlp", "spacy", "gliner"})
monkeypatch.setattr(ec, "_app_dir", lambda: tmp_path)
(tmp_path / "models" / "camembert-bio-deid" / "onnx").mkdir(parents=True)
(tmp_path / "models" / "camembert-bio-deid" / "onnx" / "model.onnx").write_bytes(b"fake")
caps = ec.capabilities_map()
assert caps["eds"].available is False
assert "modèle" in caps["eds"].reason
assert caps["gliner"].available is False
assert "modèle" in caps["gliner"].reason
(tmp_path / "models" / "eds-pseudo-public").mkdir()
(tmp_path / "models" / "gliner_multi_pii-v1").mkdir()
caps = ec.capabilities_map()
assert caps["eds"].available is True
assert caps["gliner"].available is True