pub struct ModelConfig {
pub model_type: ModelType,
pub variant: ModelVariant,
pub model_path: PathBuf,
pub thread_pool_size: usize,
pub optimization_level: u8,
}Expand description
Configuration for loading a model
Fields§
§model_type: ModelTypeType of model
variant: ModelVariantModel variant (precision)
model_path: PathBufPath to ONNX model file
thread_pool_size: usizeNumber of threads for inference
optimization_level: u8ONNX graph optimization level (0-3)
Implementations§
Source§impl ModelConfig
impl ModelConfig
Sourcepub fn new(
model_type: ModelType,
variant: ModelVariant,
model_path: PathBuf,
) -> Self
pub fn new( model_type: ModelType, variant: ModelVariant, model_path: PathBuf, ) -> Self
Create a new model configuration
§Arguments
model_type- Type of model (PromptInjection, Toxicity, Sentiment)variant- Model variant (FP32, FP16, INT8)model_path- Path to ONNX model file
§Example
use llm_shield_models::{ModelConfig, ModelType, ModelVariant};
use std::path::PathBuf;
let config = ModelConfig::new(
ModelType::PromptInjection,
ModelVariant::FP16,
PathBuf::from("/path/to/model.onnx")
);Sourcepub fn with_thread_pool_size(self, size: usize) -> Self
pub fn with_thread_pool_size(self, size: usize) -> Self
Set the thread pool size
Sourcepub fn with_optimization_level(self, level: u8) -> Self
pub fn with_optimization_level(self, level: u8) -> Self
Set the optimization level (0-3)
Trait Implementations§
Source§impl Clone for ModelConfig
impl Clone for ModelConfig
Source§fn clone(&self) -> ModelConfig
fn clone(&self) -> ModelConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ModelConfig
impl RefUnwindSafe for ModelConfig
impl Send for ModelConfig
impl Sync for ModelConfig
impl Unpin for ModelConfig
impl UnwindSafe for ModelConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more