Source code for flexeval.classes.eval_set_run

import json
from datetime import datetime

import peewee as pw

from flexeval.classes.base import BaseModel


[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) dataset_files = pw.TextField() # JSON string 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 def get_datasets(self) -> list[str]: # TODO Turn these into DataSource instances instead, returning list[DataSource] temp = json.loads(self.dataset_files) assert isinstance(temp, list), "The `data` entry in evals.yaml must be a list." return temp