feat: add governed nationwide AOI orchestration and CUDA enforcement
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-26 05:23:33 +02:00
parent 25b6f1ab39
commit 2be72fac58
50 changed files with 1596 additions and 51 deletions
+13 -4
View File
@@ -10,6 +10,7 @@ from app.services.segmentation_adapter import (
YoloSegmentationAdapter,
)
from app.services.yolo_adapter import YoloDetectionAdapter
from app.core.errors import AppError
class ModelRegistryService:
@@ -224,16 +225,24 @@ class ModelRegistryService:
elif not model_path.exists() or not model_path.is_file():
limitation = "YOLO_MODEL_PATH does not point to an existing local model file. GeoIntel will not download model weights automatically."
else:
configured = True
status = "configured"
limitation = "Configured for local YOLO inference over an existing raster tile manifest."
try:
validate_runtime = getattr(yolo_adapter_class, "validate_runtime", None)
if validate_runtime is not None:
yolo_adapter_class(settings).validate_runtime()
except AppError as exc:
status = "accelerator_unavailable"
limitation = exc.message
else:
configured = True
status = "configured"
limitation = "Configured for local YOLO inference over an existing raster tile manifest within its validated area scope."
return DetectionModelCapability(
model_id=settings.yolo_model_id,
display_name=settings.yolo_model_display_name,
framework="ultralytics/pytorch",
task_type="object_detection",
supported_classes=["building", "road", "water", "landuse"],
supported_classes=[value.strip().lower() for value in settings.yolo_model_classes.split(",") if value.strip()],
configured=configured,
status=status,
limitation_message=limitation,