Source code for flexeval.classes.eval_set_run

from datetime import datetime

import peewee as pw

from flexeval.classes.base import BaseModel
from flexeval.classes.dataset import Dataset


[docs] class EvalSetRun(BaseModel): """Class for running set of evaluations""" id = pw.IntegerField(primary_key=True) name = pw.CharField(null=True) notes = pw.TextField(null=True) metrics = pw.TextField() metrics_graph_ordered_list = pw.TextField() do_completion = pw.BooleanField() completion_llm = pw.TextField(null=True) # JSON string grader_llm = pw.TextField(null=True) # JSON string model_name = pw.TextField(null=True) # JSON string success = pw.BooleanField(null=True) rubrics = pw.TextField(null=True) timestamp = pw.DateTimeField( default=datetime.now ) # Automatically set to current date and time @property def dataset_list(self) -> list[Dataset]: """Returns the actual Dataset objects linked to this EvalSetRun via the join table.""" return list( Dataset.select() .join(EvalSetRunDatasets) .where(EvalSetRunDatasets.evalsetrun == self) )
[docs] class EvalSetRunDatasets(BaseModel): """Datasets used by an EvalSetRun.""" id = pw.IntegerField(primary_key=True) timestamp = pw.DateTimeField(default=datetime.now) evalsetrun = pw.ForeignKeyField(EvalSetRun, backref="dataset_links") dataset = pw.ForeignKeyField(Dataset, backref="evalsetrun_links")