Implementation:Explodinggradients Ragas Validation Module
| Field | Value |
|---|---|
| source | Explodinggradients_Ragas (GitHub) |
| domains | Validation, Framework |
| last_updated | 2026-02-10 00:00 GMT |
Overview
The validation module provides functions for validating that evaluation datasets have the required columns and that metrics are compatible with the dataset's sample type.
Description
remap_column_names renames columns in a HuggingFace Dataset using an inverse mapping, allowing datasets with non-standard column names to be used with Ragas metrics. get_supported_metric_type determines whether an EvaluationDataset contains SingleTurnSample or MultiTurnSample data and returns the corresponding MetricType name string. validate_required_columns checks that each metric's required columns are present in the dataset, raising a ValueError with a descriptive message listing missing columns. validate_supported_metrics verifies that each metric instance supports the dataset's sample type (single-turn or multi-turn), raising a ValueError if a metric does not match.
Usage
Call validate_required_columns and validate_supported_metrics before running an evaluation to ensure compatibility between the dataset and the selected metrics. Use remap_column_names to align column names when datasets use different naming conventions.
Code Reference
| Item | Detail |
|---|---|
| Source Location | src/ragas/validation.py L14-63
|
| Functions | remap_column_names(dataset, column_map), validate_required_columns(ds, metrics), validate_supported_metrics(ds, metrics), get_supported_metric_type(ds)
|
| Import | from ragas.validation import validate_required_columns, validate_supported_metrics
|
I/O Contract
Inputs
| Function | Parameter | Type | Description |
|---|---|---|---|
remap_column_names |
dataset |
Dataset |
HuggingFace Dataset to remap |
remap_column_names |
column_map |
dict[str, str] |
Mapping of standard names to dataset column names |
validate_required_columns |
ds |
EvaluationDataset |
Ragas evaluation dataset to validate |
validate_required_columns |
metrics |
Sequence[Metric] |
List of metrics to check column requirements for |
validate_supported_metrics |
ds |
EvaluationDataset |
Dataset to check sample type against |
validate_supported_metrics |
metrics |
Sequence[Metric] |
Metrics to validate compatibility for |
Outputs
| Function | Return Type | Description |
|---|---|---|
remap_column_names |
Dataset |
Dataset with renamed columns |
get_supported_metric_type |
str |
"SINGLE_TURN" or "MULTI_TURN" |
validate_required_columns |
None |
Raises ValueError if columns are missing
|
validate_supported_metrics |
None |
Raises ValueError if metrics are incompatible
|
Usage Examples
from ragas.validation import (
validate_required_columns,
validate_supported_metrics,
remap_column_names,
)
from ragas.dataset_schema import EvaluationDataset
# Validate dataset columns before evaluation
dataset = EvaluationDataset.from_list(my_samples)
metrics = [faithfulness_metric, answer_correctness_metric]
validate_required_columns(dataset, metrics)
validate_supported_metrics(dataset, metrics)
# Remap column names from custom dataset
from datasets import Dataset as HFDataset
raw_ds = HFDataset.from_dict({"query": [...], "answer": [...]})
column_map = {"user_input": "query", "response": "answer"}
remapped = remap_column_names(raw_ds, column_map)
Related Pages
- MetricValidators_Module - Value-level metric validation
- MetricResult_Class - Result objects validated by metric validators
- Utils_Module - General utility functions