Skip to main content

SemanticModel

Struct SemanticModel 

Source
pub struct SemanticModel {}
Expand description

Wrapper around an ONNX Runtime session for the embedding model.

Implementations§

Source§

impl SemanticModel

Source

pub fn load() -> Result<Self>

Load the model from the OS cache directory.

If the cache file is missing or has a mismatched SHA256, this extracts bundled model bytes into the cache directory before creating an ORT session. When no bundled bytes are available, this attempts a one-time download of model/tokenizer assets from stable URLs.

§Errors

Returns an error if the model cannot be loaded or the cache is invalid.

Source

pub fn model_cache_path() -> Result<PathBuf>

Return the OS-appropriate cache path for the model file.

Uses dirs::cache_dir() / bones / models / minilm-l6-v2-int8.onnx.

§Errors

Returns an error if the OS cache directory cannot be determined.

Source

pub fn is_cached_valid(path: &Path) -> bool

Check if cached model matches expected SHA256.

Source

pub fn extract_to_cache(path: &Path) -> Result<()>

Extract bundled model bytes to cache directory.

§Errors

Returns an error if no bundled bytes are available, or if the file system operations fail, or if the extracted model fails SHA256 verification.

Source

pub fn embed(&self, text: &str) -> Result<Vec<f32>>

Run inference for a single text input.

§Errors

Returns an error if the runtime is unavailable or inference fails.

Source

pub fn embed_batch(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>>

Batch inference for efficiency.

§Errors

Returns an error if the runtime is unavailable or batch inference fails.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more