pub struct BeamSearch { /* private fields */ }Expand description
Beam search - explores multiple paths simultaneously.
Keeps top beam_width candidates at each level, providing
a balance between exploration and computational cost.
§Pilot Integration
When a Pilot is provided, the algorithm consults it at fork points (when multiple candidates are available) to get semantic guidance on which branches are most relevant to the query.
Implementations§
Source§impl BeamSearch
impl BeamSearch
Sourcepub fn with_width(width: usize) -> Self
pub fn with_width(width: usize) -> Self
Create beam search with specified width.
Trait Implementations§
Source§impl Default for BeamSearch
impl Default for BeamSearch
Source§impl SearchTree for BeamSearch
impl SearchTree for BeamSearch
Source§fn search<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
tree: &'life1 DocumentTree,
context: &'life2 RetrievalContext,
config: &'life3 SearchConfig,
pilot: Option<&'life4 dyn Pilot>,
) -> Pin<Box<dyn Future<Output = SearchResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn search<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
tree: &'life1 DocumentTree,
context: &'life2 RetrievalContext,
config: &'life3 SearchConfig,
pilot: Option<&'life4 dyn Pilot>,
) -> Pin<Box<dyn Future<Output = SearchResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Search the tree for relevant nodes. Read more
Source§fn search_without_pilot<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tree: &'life1 DocumentTree,
context: &'life2 RetrievalContext,
config: &'life3 SearchConfig,
) -> Pin<Box<dyn Future<Output = SearchResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn search_without_pilot<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tree: &'life1 DocumentTree,
context: &'life2 RetrievalContext,
config: &'life3 SearchConfig,
) -> Pin<Box<dyn Future<Output = SearchResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Search without Pilot (uses default algorithm scoring).
Auto Trait Implementations§
impl Freeze for BeamSearch
impl RefUnwindSafe for BeamSearch
impl Send for BeamSearch
impl Sync for BeamSearch
impl Unpin for BeamSearch
impl UnsafeUnpin for BeamSearch
impl UnwindSafe for BeamSearch
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