from ragas import evaluate | |
from datasets import Dataset | |
def run_ragas_evaluation(test_data, metrics): | |
test_dataset = Dataset.from_list(test_data) | |
result = evaluate(test_dataset, metrics=metrics) | |
return result | |
def prepare_ragas_data(questions, retriever, rag_chain): | |
test_data = [ | |
{ | |
"question": q, | |
"contexts": [c.page_content for c in retriever.get_relevant_documents(q)], | |
"answer": rag_chain.invoke({"question": q})["response"] | |
} | |
for q in questions | |
] | |
return test_data | |