Skip to main content

SemanticModel

Struct SemanticModel 

Source
pub struct SemanticModel { /* private fields */ }
Expand description

Wrapper around an embedding model backend.

Supports multiple backends selected at compile time via feature flags. When multiple backends are available, ORT is preferred (higher quality); model2vec is used as a fallback.

Implementations§

Source§

impl SemanticModel

Source

pub fn load() -> Result<Self>

Load the model from the OS cache directory.

Tries backends in priority order: ORT (highest quality), then model2vec (no ONNX dependency, Windows-friendly).

§Errors

Returns an error if no backend is available or loading fails.

Source

pub fn model_cache_path() -> Result<PathBuf>

Return the OS-appropriate cache path for the ORT 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 model_cache_root() -> Result<PathBuf>

Return the OS-appropriate cache root for model files.

§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 dimensions(&self) -> usize

The dimensionality of embedding vectors this model produces.

Source

pub fn backend_id(&self) -> &'static str

A stable identifier for the active backend, used to detect backend switches that require re-embedding stored vectors.

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