import ragas_experimental.typing as rt
from ragas_experimental.metric.result import MetricResultRagas 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
query: t.Annotated[str, rt.Text(id="search_query")]
persona: t.List[t.Literal["opt1", "opt2", "opt3"]]
result: MetricResultTestDataRow.__column_mapping__ = {}test_data_row = TestDataRow(id=1, query="this is a test", persona=["opt1"], result=MetricResult(result=0.5, reason="test reason"))
test_data_rowTestDataRow(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'}