pub struct Evaluator { /* private fields */ }Expand description
Evaluates a subject model against a benchmark dataset using an LLM judge.
Implementations§
Source§impl Evaluator
impl Evaluator
Sourcepub fn new(
judge: Arc<AnyProvider>,
benchmark: BenchmarkSet,
budget_tokens: u64,
) -> Result<Self, EvalError>
pub fn new( judge: Arc<AnyProvider>, benchmark: BenchmarkSet, budget_tokens: u64, ) -> Result<Self, EvalError>
Sourcepub fn with_parallel_evals(self, n: usize) -> Self
pub fn with_parallel_evals(self, n: usize) -> Self
Override the default concurrency limit for judge calls.
Sourcepub async fn evaluate(
&self,
subject: &AnyProvider,
) -> Result<EvalReport, EvalError>
pub async fn evaluate( &self, subject: &AnyProvider, ) -> Result<EvalReport, EvalError>
Run the full benchmark against subject, returning aggregate scores.
Subject calls are sequential; judge calls are parallelized up to
parallel_evals concurrent tasks. A per-invocation token budget is
enforced across all judge calls.
§Errors
Returns EvalError::Llm if any subject call fails fatally.
Budget exhaustion and judge errors are handled gracefully (excluded from scores).
Auto Trait Implementations§
impl Freeze for Evaluator
impl !RefUnwindSafe for Evaluator
impl Send for Evaluator
impl Sync for Evaluator
impl Unpin for Evaluator
impl UnsafeUnpin for Evaluator
impl !UnwindSafe for Evaluator
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request