pub struct SemanticStrategy { /* private fields */ }Expand description
Embedding-based semantic similarity search.
Implementations§
Source§impl SemanticStrategy
impl SemanticStrategy
Sourcepub fn new(
provider: Arc<dyn EmbeddingProvider>,
index: EmbeddingIndex,
config: SemanticConfig,
) -> Self
pub fn new( provider: Arc<dyn EmbeddingProvider>, index: EmbeddingIndex, config: SemanticConfig, ) -> Self
Create a new semantic strategy.
Sourcepub async fn update_index(&self, index: EmbeddingIndex)
pub async fn update_index(&self, index: EmbeddingIndex)
Update the index.
Sourcepub async fn index(&self) -> EmbeddingIndex
pub async fn index(&self) -> EmbeddingIndex
Get the current index.
Trait Implementations§
Source§impl SelectionStrategy for SemanticStrategy
impl SelectionStrategy for SemanticStrategy
Source§fn select<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
query: &'life1 str,
candidates: &'life2 [&'life3 SkillMetadata],
_ctx: &'life4 SelectionContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<SelectionResult>, SelectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn select<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
query: &'life1 str,
candidates: &'life2 [&'life3 SkillMetadata],
_ctx: &'life4 SelectionContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<SelectionResult>, SelectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Rank skills for a given query. Returns scored candidates.
Source§fn latency_class(&self) -> LatencyClass
fn latency_class(&self) -> LatencyClass
Expected latency class.
Auto Trait Implementations§
impl !RefUnwindSafe for SemanticStrategy
impl !UnwindSafe for SemanticStrategy
impl Freeze for SemanticStrategy
impl Send for SemanticStrategy
impl Sync for SemanticStrategy
impl Unpin for SemanticStrategy
impl UnsafeUnpin for SemanticStrategy
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> 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