pub trait ModelStorage: Send + Sync {
// Required methods
fn list_models(&self) -> Result<Vec<ModelInfo>, BackendError>;
fn exists(&self, model_id: &str) -> bool;
fn model_info(&self, model_id: &str) -> Result<ModelInfo, BackendError>;
fn delete(&self, model_id: &str) -> Result<(), BackendError>;
fn model_path(&self, model_id: &str) -> PathBuf;
fn storage_dir(&self) -> &Path;
}Expand description
Model storage backend (sync version).
This trait defines operations for downloading and managing local models.
Implementations include HuggingFaceStorage in spn-native.
For the async version, enable the async-storage feature.
Required Methods§
Sourcefn list_models(&self) -> Result<Vec<ModelInfo>, BackendError>
fn list_models(&self) -> Result<Vec<ModelInfo>, BackendError>
Sourcefn model_info(&self, model_id: &str) -> Result<ModelInfo, BackendError>
fn model_info(&self, model_id: &str) -> Result<ModelInfo, BackendError>
Sourcefn model_path(&self, model_id: &str) -> PathBuf
fn model_path(&self, model_id: &str) -> PathBuf
Get the local path for a model.
Sourcefn storage_dir(&self) -> &Path
fn storage_dir(&self) -> &Path
Get the storage root directory.