import ragas_experimental.typing as rt
from ragas_experimental.metric.result import MetricResult
Ragas BaseModel
An Extended version of Pydantics
BaseModel
for some ragas specific stuff
ExtendedPydanticBaseModel
ExtendedPydanticBaseModel ()
Extended Pydantic BaseModel with database integration capabilities
# Example usage
class TestDataRow(ExtendedPydanticBaseModel):
id: t.Optional[int] = None
str, rt.Text(id="search_query")]
query: t.Annotated["opt1", "opt2", "opt3"]]
persona: t.List[t.Literal[ result: MetricResult
= {} TestDataRow.__column_mapping__
= TestDataRow(id=1, query="this is a test", persona=["opt1"], result=MetricResult(result=0.5, reason="test reason"))
test_data_row test_data_row
TestDataRow(id=1, query='this is a test', persona=['opt1'], result=0.5)
test_data_row.__column_mapping__
{'id': 'id',
'query': 'search_query',
'persona': 'persona',
'result': 'result',
'result_reason': 'result_reason'}