Skip to content

Evaluation engine

Core

report_analyst/ ยท Reciprocal Public License. This is the open core: the Streamlit analyst, chunking, question sets, and benchmarking. It ships in the core Docker image.

EvaluationEngine scores a retrieval run against a reference dataset. The members below are generated from the method docstrings.

report_analyst.core.benchmark.evaluation_engine.EvaluationEngine

Engine for evaluating retrieval performance against benchmark datasets

evaluate_retrieval(dataset, retrieval_results, config, k_values=None)

Evaluate retrieval results against ground truth

Parameters:

Name Type Description Default
dataset BenchmarkDatasetContent

Benchmark dataset with ground truth

required
retrieval_results Dict[str, List[Dict]]

Dict mapping question_id to list of retrieved chunks

required
config RetrievalConfig

Retrieval configuration used

required
k_values Optional[List[int]]

List of K values to compute metrics for

None

Returns:

Type Description
EvaluationMetrics

EvaluationMetrics with computed scores

compare_flexible_datasets(reference_dataset, input_dataset, k_values=None)

Compare two flexible benchmark datasets (supports both IR and IE).

The reference dataset is treated as ground truth (e.g., "climretrieve", "chatreport"). The input dataset contains the actual results to evaluate.

For IR datasets: Compares retrieved chunks (by chunk_id and position). For IE datasets: Compares answers/analysis (by query_id, comparing text similarity).

Parameters:

Name Type Description Default
reference_dataset BenchmarkDataset

Reference dataset (ground truth)

required
input_dataset BenchmarkDataset

Input dataset (actual results) to evaluate

required
k_values Optional[List[int]]

List of K values to compute metrics for (only used for IR)

None

Returns:

Type Description
EvaluationMetrics

EvaluationMetrics comparing input_dataset against reference_dataset