DocumentMRREvaluator | Haystack Documentation

from haystack import Document, Pipeline
from haystack.components.evaluators import DocumentMRREvaluator, DocumentRecallEvaluator

pipeline = Pipeline()
mrr_evaluator = DocumentMRREvaluator()
recall_evaluator = DocumentRecallEvaluator()
pipeline.add_component("mrr_evaluator", mrr_evaluator)
pipeline.add_component("recall_evaluator", recall_evaluator)

ground_truth_documents = [
[Document(content="France")],
[Document(content="9th century"), Document(content="9th")],
]
retrieved_documents = [
[Document(content="France")],
[
Document(content="9th century"),
Document(content="10th century"),
Document(content="9th"),
],
]

result = pipeline.run(
{
"mrr_evaluator": {
"ground_truth_documents": ground_truth_documents,
"retrieved_documents": retrieved_documents,
},
"recall_evaluator": {
"ground_truth_documents": ground_truth_documents,
"retrieved_documents": retrieved_documents,
},
},
)

for evaluator in result:
print(result[evaluator]["individual_scores"])
## [1.0, 1.0]
## [1.0, 1.0]
for evaluator in result:
print(result[evaluator]["score"])
## 1.0
## 1.0