Package dev.dokimos.core.conversation
Class TrajectoryEvaluator
java.lang.Object
dev.dokimos.core.BaseEvaluator
dev.dokimos.core.conversation.TrajectoryEvaluator
- All Implemented Interfaces:
Evaluator
Evaluates complete conversation trajectories using LLM-as-judge patterns.
This evaluator assesses holistic qualities of multi-turn conversations such as user satisfaction, goal completion, conversation quality, and other custom criteria. It processes the entire conversation history rather than individual turns.
Example usage:
TrajectoryEvaluator evaluator = TrajectoryEvaluator.builder()
.name("Customer Service Quality")
.threshold(0.7)
.judge(judgeLM)
.criteria(List.of(
TrajectoryEvaluationCriteria.userSatisfaction(),
TrajectoryEvaluationCriteria.problemResolution()))
.aggregationStrategy(AggregationStrategy.WEIGHTED_MEAN)
.build();
EvalTestCase testCase = EvalTestCase.builder()
.actualOutput("trajectory", trajectory)
.build();
EvalResult result = evaluator.evaluate(testCase);
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for constructing trajectory evaluators. -
Method Summary
Modifier and TypeMethodDescriptionstatic TrajectoryEvaluator.Builderbuilder()Creates a new builder for constructing a trajectory evaluator.Methods inherited from class dev.dokimos.core.BaseEvaluator
evaluate, evaluateAsync, evaluateAsync, name, threshold
-
Method Details
-
builder
Creates a new builder for constructing a trajectory evaluator.- Returns:
- a new builder
-