Class LocalModelRegistry

java.lang.Object
com.helix.core.ml.LocalModelRegistry
All Implemented Interfaces:
ModelRegistry

public class LocalModelRegistry extends Object implements ModelRegistry
In-memory and filesystem-backed implementation of ModelRegistry.

Provides thread-safe model registration, semantic version resolution, active version activation, and filesystem discovery for local ONNX model stores.

  • Constructor Details

    • LocalModelRegistry

      public LocalModelRegistry()
    • LocalModelRegistry

      public LocalModelRegistry(Path baseDirectory)
  • Method Details

    • getBaseDirectory

      public Optional<Path> getBaseDirectory()
    • resolveModel

      public Optional<OnnxModelDescriptor> resolveModel(String modelName)
      Description copied from interface: ModelRegistry
      Resolves the currently active version of a model by its identifier.
      Specified by:
      resolveModel in interface ModelRegistry
      Parameters:
      modelName - unique name of the model (e.g., "fraud_model_v1")
      Returns:
      optional containing the active model descriptor, or empty if not registered
    • resolveModel

      public Optional<OnnxModelDescriptor> resolveModel(String modelName, String version)
      Description copied from interface: ModelRegistry
      Resolves a specific version of a model.
      Specified by:
      resolveModel in interface ModelRegistry
      Parameters:
      modelName - unique name of the model
      version - semantic version string (e.g., "1.0.0")
      Returns:
      optional containing the model descriptor, or empty if not found
    • registerModel

      public void registerModel(OnnxModelDescriptor descriptor)
      Description copied from interface: ModelRegistry
      Registers a new model descriptor or version in the registry.
      Specified by:
      registerModel in interface ModelRegistry
      Parameters:
      descriptor - descriptor containing model metadata and storage paths
    • activateModelVersion

      public void activateModelVersion(String modelName, String version)
      Description copied from interface: ModelRegistry
      Marks a specific version of a model as active for rule compilation and evaluation.
      Specified by:
      activateModelVersion in interface ModelRegistry
      Parameters:
      modelName - unique name of the model
      version - version string to activate
    • invalidateModel

      public void invalidateModel(String modelName)
      Description copied from interface: ModelRegistry
      Invalidates and deregisters all versions of the named model.
      Specified by:
      invalidateModel in interface ModelRegistry
      Parameters:
      modelName - unique name of the model to invalidate
    • invalidateModelVersion

      public void invalidateModelVersion(String modelName, String version)
      Description copied from interface: ModelRegistry
      Invalidates a specific version of a model.
      Specified by:
      invalidateModelVersion in interface ModelRegistry
      Parameters:
      modelName - unique name of the model
      version - version to invalidate
    • listModels

      public List<OnnxModelDescriptor> listModels()
      Description copied from interface: ModelRegistry
      Lists all registered models in their active versions.
      Specified by:
      listModels in interface ModelRegistry
      Returns:
      unmodifiable list of active model descriptors
    • listVersions

      public List<OnnxModelDescriptor> listVersions(String modelName)
      Description copied from interface: ModelRegistry
      Lists all available versions for a specific model.
      Specified by:
      listVersions in interface ModelRegistry
      Parameters:
      modelName - unique name of the model
      Returns:
      list of model descriptors across all registered versions
    • hasModel

      public boolean hasModel(String modelName)
      Description copied from interface: ModelRegistry
      Checks if an active version exists for the specified model.
      Specified by:
      hasModel in interface ModelRegistry
      Parameters:
      modelName - model name to verify
      Returns:
      true if an active model exists
    • hasModelVersion

      public boolean hasModelVersion(String modelName, String version)
      Description copied from interface: ModelRegistry
      Checks if a specific version exists for the specified model.
      Specified by:
      hasModelVersion in interface ModelRegistry
      Parameters:
      modelName - model name to verify
      version - version string to verify
      Returns:
      true if the specified model version exists
    • scanModels

      public int scanModels(Function<String,List<String>> featureProvider) throws IOException
      Scans the configured base directory for `.onnx` model files and registers them.
      Parameters:
      featureProvider - function mapping model names to expected input feature signatures
      Returns:
      count of discovered and registered model files
      Throws:
      IOException - if directory traversal fails