Module model_loader

Module model_loader 

Source
Expand description

Model Loader with ONNX Runtime Integration

§SPARC Phase 3: Implementation

This module provides lazy loading, caching, and thread-safe access to ONNX models.

§Features

  • Lazy Loading: Models are only loaded when first requested
  • Caching: Loaded models are cached for reuse
  • Thread-Safe: Uses Arc + RwLock for concurrent access
  • Registry Integration: Uses ModelRegistry for model discovery
  • Graceful Error Handling: Comprehensive error messages

§Usage Example

use llm_shield_models::{ModelLoader, ModelRegistry, ModelType, ModelVariant};
use std::sync::Arc;

// Create registry
let registry = ModelRegistry::from_file("models/registry.json")?;

// Create loader
let loader = ModelLoader::new(Arc::new(registry));

// Load model (lazy - only loads once)
let session = loader.load(ModelType::PromptInjection, ModelVariant::FP16).await?;

// Use session for inference...

Structs§

LoaderStats
Statistics about loaded models
ModelConfig
Configuration for loading a model
ModelLoader
Model loader with lazy loading and caching

Enums§

ModelType
Model type identifier

Type Aliases§

Result
Result type alias