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§
- Loader
Stats - Statistics about loaded models
- Model
Config - Configuration for loading a model
- Model
Loader - Model loader with lazy loading and caching
Enums§
- Model
Type - Model type identifier
Type Aliases§
- Result
- Result type alias