Skip to main content

ScriptedReranker

Enum ScriptedReranker 

Source
pub enum ScriptedReranker {
    Fifo {
        results: Mutex<Vec<Result<Vec<RerankResult>, ProviderError>>>,
        calls: Mutex<Vec<(String, usize, usize)>>,
    },
    Match {
        resolver: Box<dyn Fn(&str, &[String], usize) -> Result<Vec<RerankResult>, ProviderError> + Send + Sync>,
        calls: Mutex<Vec<(String, usize, usize)>>,
    },
}
Expand description

Scripted reranker, parity-shaped with ScriptedNliClassifier:

  • ScriptedReranker::new (FIFO): each call pops the next scripted result set in order. When the script is exhausted the reranker returns Ok(vec![]) (the legitimate “provider found nothing” shape) so the fail-closed contract of the rerank stage is exercisable without an explicit error — mirroring a real provider that responded with zero results rather than a transport failure.
  • ScriptedReranker::matching (Match): each call dispatches to the supplied closure. Use when survivor ordering is not deterministic (HashMap order) and the test keys scores on the document text, or to honour the top_k argument for truncation assertions.

Both modes record every (query, document_count, top_k) triple so tests can assert on the exact calls the use case made.

Variants§

§

Fifo

§

Match

Fields

§resolver: Box<dyn Fn(&str, &[String], usize) -> Result<Vec<RerankResult>, ProviderError> + Send + Sync>

Implementations§

Source§

impl ScriptedReranker

Source

pub fn new(results: Vec<Result<Vec<RerankResult>, ProviderError>>) -> Self

Source

pub fn matching<F>(resolver: F) -> Self
where F: Fn(&str, &[String], usize) -> Result<Vec<RerankResult>, ProviderError> + Send + Sync + 'static,

Source

pub fn calls(&self) -> Vec<(String, usize, usize)>

Recorded (query, document_count, top_k) triples in invocation order.

Trait Implementations§

Source§

impl RerankProvider for ScriptedReranker

Source§

async fn rerank( &self, query: &str, documents: &[String], top_k: usize, ) -> Result<Vec<RerankResult>, ProviderError>

Re-score documents against query and return the top-top_k hits ordered by descending relevance score. Each hit preserves the original document index so the caller can map back to its source fact.

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