pub struct MultiTurnSimulation { /* private fields */ }Expand description
Multi-turn simulation for conversational/iterative model evaluation.
Implements Pareto frontier analysis across accuracy, cost, and latency.
Implementations§
Source§impl MultiTurnSimulation
impl MultiTurnSimulation
Sourcepub fn with_costs(self, input_cost: f64, output_cost: f64) -> Self
pub fn with_costs(self, input_cost: f64, output_cost: f64) -> Self
Set cost parameters.
Sourcepub fn with_latency_per_token(self, latency_ms: f64) -> Self
pub fn with_latency_per_token(self, latency_ms: f64) -> Self
Set latency per token.
Sourcepub fn turn<F>(
&mut self,
input: &str,
expected: Option<&str>,
generate_fn: F,
) -> SimResult<Turn>
pub fn turn<F>( &mut self, input: &str, expected: Option<&str>, generate_fn: F, ) -> SimResult<Turn>
Execute a single turn using a response generator.
The generate_fn takes (input, history) and returns response string.
§Errors
Returns error if turn execution fails.
Sourcepub fn evaluate<F>(
&mut self,
queries: &[(String, Option<String>)],
n_runs: usize,
generate_fn: F,
) -> SimResult<MultiTurnEvaluation>
pub fn evaluate<F>( &mut self, queries: &[(String, Option<String>)], n_runs: usize, generate_fn: F, ) -> SimResult<MultiTurnEvaluation>
Run complete multi-turn evaluation with statistical analysis.
Following Princeton methodology: minimum 5 runs, 95% CI.
§Errors
Returns error if fewer than 5 runs are requested or if evaluation fails.
Sourcepub fn pareto_analysis(
evaluations: &[(String, MultiTurnEvaluation)],
) -> ParetoAnalysis
pub fn pareto_analysis( evaluations: &[(String, MultiTurnEvaluation)], ) -> ParetoAnalysis
Compute Pareto frontier across multiple model evaluations.
Auto Trait Implementations§
impl Freeze for MultiTurnSimulation
impl RefUnwindSafe for MultiTurnSimulation
impl Send for MultiTurnSimulation
impl Sync for MultiTurnSimulation
impl Unpin for MultiTurnSimulation
impl UnsafeUnpin for MultiTurnSimulation
impl UnwindSafe for MultiTurnSimulation
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