Evaluation

Measure and improve agent performance

Evaluation measures how well your agents perform, helping you improve over time.

Diagram

Evaluation Loop

🤖 Agent

📤 Output

📊 Evaluate

📈 Score

🔧 Improve

Quick Start

  1. Evaluate Response
    rust
    use praisonai::{Agent, AccuracyEvaluator};
    
    let agent = Agent::new().name("Assistant").build()?;
    let evaluator = AccuracyEvaluator::new();
    
    let response = agent.chat("What is 2+2?").await?;
    let score = evaluator.evaluate(&response, "4");
    
    println!("Accuracy: {:.1}%", score.value * 100.0);
  2. Multiple Criteria
    rust
    use praisonai::CriteriaEvaluator;
    
    let evaluator = CriteriaEvaluator::new()
        .criterion("clarity", "Is the response clear?")
        .criterion("accuracy", "Is the response accurate?")
        .build();
    
    let scores = evaluator.evaluate(&response);

Evaluator Types

EvaluatorMeasures
AccuracyEvaluatorCorrectness vs expected
CriteriaEvaluatorMultiple custom criteria
PerformanceEvaluatorSpeed and efficiency
JudgeLLM-as-judge scoring — ⚠️ not yet implemented (fails closed)

Best Practices

Test on diverse examples

Use varied test cases to get accurate evaluation.

Iterate based on scores

Low scores indicate where to improve prompts or tools.


Related