in skills/retrieval_augmented_generation/evaluation/eval_retrieval.py [0:0]
def evaluate_retrieval(retrieved_links, correct_links):
correct_links = ast.literal_eval(correct_links)
true_positives = len(set(retrieved_links) & set(correct_links))
precision = true_positives / len(retrieved_links) if retrieved_links else 0
recall = true_positives / len(correct_links) if correct_links else 0
f1 = 2 * (precision * recall) / (precision + recall) if (precision + recall) > 0 else 0
mrr= calculate_mrr(retrieved_links, correct_links)
return precision, recall, mrr, f1