| 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 | |