Skip to content

Commit 6486420

Browse files
multi mode ragas changes
1 parent 77cb004 commit 6486420

File tree

2 files changed

+4
-22
lines changed

2 files changed

+4
-22
lines changed

backend/score.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -718,12 +718,9 @@ async def calculate_metric(question: str = Form(),
718718
model: str = Form(),
719719
mode: str = Form()):
720720
try:
721-
context_list = json.loads(context) if context else []
722-
answer_list = json.loads(answer) if answer else []
723-
mode_list = json.loads(mode) if mode else []
724-
context_list = [str(item).strip() for item in context_list]
725-
answer_list = [str(item).strip() for item in answer_list]
726-
mode_list = [str(item).strip() for item in mode_list]
721+
context_list = [str(item).strip() for item in json.loads(context)] if context else []
722+
answer_list = [str(item).strip() for item in json.loads(answer)] if answer else []
723+
mode_list = [str(item).strip() for item in json.loads(mode)] if mode else []
727724

728725
result = await asyncio.to_thread(
729726
get_ragas_metrics, question, context_list, answer_list, model

backend/src/ragas_eval.py

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,23 @@
11
import os
22
import logging
33
import time
4-
from typing import Dict, Optional
54
from src.llm import get_llm
65
from datasets import Dataset
76
from dotenv import load_dotenv
87
from ragas import evaluate
98
from ragas.metrics import answer_relevancy, faithfulness
109
from src.shared.common_fn import load_embedding_model
11-
import math
1210
load_dotenv()
1311

1412
EMBEDDING_MODEL = os.getenv("EMBEDDING_MODEL")
1513
EMBEDDING_FUNCTION, _ = load_embedding_model(EMBEDDING_MODEL)
1614

17-
def sanitize_data(data):
18-
for key, value in data.items():
19-
if isinstance(value, float) and (math.isnan(value) or math.isinf(value)):
20-
data[key] = None
21-
return data
22-
23-
def preprocess_dataset(example):
24-
example["contexts"] = [example["contexts"]]
25-
return example
26-
2715
def get_ragas_metrics(question: str, context: list, answer: list, model: str):
2816
"""Calculates RAGAS metrics."""
2917
try:
3018
start_time = time.time()
31-
question = [question] * len(answer)
3219
dataset = Dataset.from_dict(
33-
{"question": question, "answer": answer, "contexts": context}
20+
{"question": [question] * len(answer), "answer": answer, "contexts": [[ctx] for ctx in context]}
3421
)
3522
dataset = dataset.map(preprocess_dataset)
3623
logging.info("Evaluation dataset created successfully.")
@@ -53,8 +40,6 @@ def get_ragas_metrics(question: str, context: list, answer: list, model: str):
5340
.round(4)
5441
.to_dict(orient="list")
5542
)
56-
#score_dict = sanitize_data(score_dict)
57-
print("Score dict : ",score_dict)
5843
end_time = time.time()
5944
logging.info(f"Evaluation completed in: {end_time - start_time:.2f} seconds")
6045
return score_dict

0 commit comments

Comments
 (0)