File size: 554 Bytes
0d0eac6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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