Class RecallEvaluator

java.lang.Object
dev.dokimos.core.BaseEvaluator
dev.dokimos.core.evaluators.RecallEvaluator
All Implemented Interfaces:
Evaluator

public class RecallEvaluator extends BaseEvaluator
Evaluator that measures retrieval recall.

Recall is the fraction of relevant items that were retrieved:

 recall = |relevant ∩ retrieved| / |relevant|
 

A recall of 1.0 means all relevant items were retrieved (no false negatives). A recall of 0.0 means none of the relevant items were retrieved.

This evaluator supports various RAG use cases beyond document retrieval, including knowledge graph triples, API responses, and semantic matching.

Example usage:


 var evaluator = RecallEvaluator.builder()
         .name("retrieval-recall")
         .retrievedKey("retrievedDocs")
         .expectedKey("relevantDocs")
         .matchingStrategy(MatchingStrategy.byEquality())
         .threshold(0.8)
         .build();

 var testCase = EvalTestCase.builder()
         .input("What causes diabetes?")
         .actualOutput("retrievedDocs", List.of("doc_1", "doc_2", "doc_3"))
         .expectedOutput("relevantDocs", List.of("doc_1", "doc_3", "doc_5"))
         .build();

 EvalResult result = evaluator.evaluate(testCase);
 // recall = 2/3 = 0.667 (doc_1 and doc_3 were found, doc_5 was missed)
 
  • Method Details

    • builder

      public static RecallEvaluator.Builder builder()
      Creates a new builder for constructing the recall evaluator.
      Returns:
      a new builder