File tree 2 files changed +19
-4
lines changed
2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change 34
34
)
35
35
from ragas .metrics .critique import AspectCritique
36
36
from ragas .run_config import RunConfig
37
- from ragas .utils import REQUIRED_COLS_v1 , get_feature_language , safe_nanmean
37
+ from ragas .utils import (
38
+ convert_v1_to_v2_dataset ,
39
+ convert_v2_to_v1_dataset ,
40
+ get_feature_language ,
41
+ safe_nanmean ,
42
+ )
38
43
from ragas .validation import (
39
44
remap_column_names ,
40
45
validate_required_columns ,
@@ -164,7 +169,7 @@ def evaluate(
164
169
# remap column names from the dataset
165
170
v1_input = True
166
171
dataset = remap_column_names (dataset , column_map )
167
- dataset = remap_column_names (dataset , REQUIRED_COLS_v1 )
172
+ dataset = convert_v1_to_v2_dataset (dataset )
168
173
# validation
169
174
dataset = EvaluationDataset .from_list (dataset .to_list ())
170
175
@@ -310,8 +315,7 @@ def evaluate(
310
315
# convert to v.1 dataset
311
316
dataset = dataset .to_hf_dataset ()
312
317
if v1_input :
313
- cols = {k : v for v , k in REQUIRED_COLS_v1 .items ()}
314
- dataset = remap_column_names (dataset , cols )
318
+ dataset = convert_v2_to_v1_dataset (dataset )
315
319
316
320
cost_cb = ragas_callbacks ["cost_cb" ] if "cost_cb" in ragas_callbacks else None
317
321
result = Result (
Original file line number Diff line number Diff line change 7
7
from functools import lru_cache
8
8
9
9
import numpy as np
10
+ from datasets import Dataset
10
11
11
12
if t .TYPE_CHECKING :
12
13
from ragas .metrics .base import Metric
@@ -197,3 +198,13 @@ def get_required_columns_v1(metric: Metric):
197
198
def convert_row_v1_to_v2 (row : t .Dict [str , t .Any ]) -> t .Dict [str , t .Any ]:
198
199
required_cols_v2 = {k : v for v , k in REQUIRED_COLS_v1 .items ()}
199
200
return {required_cols_v2 [k ]: v for k , v in row .items () if k in required_cols_v2 }
201
+
202
+
203
+ def convert_v1_to_v2_dataset (dataset : Dataset ) -> Dataset :
204
+ columns_map = {v : k for k , v in REQUIRED_COLS_v1 .items () if v in dataset .features }
205
+ return dataset .rename_columns (columns_map )
206
+
207
+
208
+ def convert_v2_to_v1_dataset (dataset : Dataset ) -> Dataset :
209
+ columns_map = {k : v for k , v in REQUIRED_COLS_v1 .items () if k in dataset .features }
210
+ return dataset .rename_columns (columns_map )
You can’t perform that action at this time.
0 commit comments