pub struct LlmStrategy { /* private fields */ }Expand description
LLM-based intent classification for ambiguous queries.
Implementations§
Source§impl LlmStrategy
impl LlmStrategy
Sourcepub fn new(client: Arc<dyn LlmClient>, config: LlmStrategyConfig) -> Self
pub fn new(client: Arc<dyn LlmClient>, config: LlmStrategyConfig) -> Self
Create a new LLM strategy.
Trait Implementations§
Source§impl SelectionStrategy for LlmStrategy
impl SelectionStrategy for LlmStrategy
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 LlmStrategy
impl !UnwindSafe for LlmStrategy
impl Freeze for LlmStrategy
impl Send for LlmStrategy
impl Sync for LlmStrategy
impl Unpin for LlmStrategy
impl UnsafeUnpin for LlmStrategy
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