feat: add governed nationwide AOI orchestration and CUDA enforcement
This commit is contained in:
@@ -38,6 +38,7 @@ class YoloPreflightService:
|
||||
"checks": {
|
||||
"enabled": resolved_settings.yolo_enabled,
|
||||
"dependencies_available": None,
|
||||
"accelerator_ready": None,
|
||||
"model_path_set": None,
|
||||
"model_file_exists": None,
|
||||
"model_load_requested": check_model_load,
|
||||
@@ -70,6 +71,21 @@ class YoloPreflightService:
|
||||
result["message"] = "YOLO dependencies are not installed. Install backend optional extras with geointel-backend[ai]."
|
||||
return result
|
||||
|
||||
if not assume_dependencies:
|
||||
try:
|
||||
adapter = yolo_adapter_class(resolved_settings)
|
||||
validate_runtime = getattr(adapter, "validate_runtime", None)
|
||||
if validate_runtime is not None:
|
||||
validate_runtime()
|
||||
except AppError as exc:
|
||||
result["checks"]["accelerator_ready"] = False
|
||||
result["status"] = "accelerator_unavailable"
|
||||
result["message"] = exc.message
|
||||
result["error_code"] = exc.code
|
||||
result["details"] = exc.details
|
||||
return result
|
||||
result["checks"]["accelerator_ready"] = True
|
||||
|
||||
result["checks"]["model_path_set"] = bool(resolved_settings.yolo_model_path)
|
||||
if not resolved_settings.yolo_model_path:
|
||||
result["message"] = "YOLO_MODEL_PATH is not set. GeoIntel will not download model weights automatically."
|
||||
@@ -143,6 +159,8 @@ class YoloPreflightService:
|
||||
"torch_version": YoloPreflightService._package_version("torch"),
|
||||
"ultralytics_version": YoloPreflightService._package_version("ultralytics"),
|
||||
"cuda_available": None,
|
||||
"configured_device": settings.yolo_device,
|
||||
"cuda_required": settings.yolo_require_cuda,
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
|
||||
Reference in New Issue
Block a user