Spaces:
Sleeping
Sleeping
File size: 1,768 Bytes
9c84f9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | from typing import Any
from solar_eval.models.base import CustomBaseModel
from solar_eval.models.enums import EvaluatorType, PipelineType
class EvaluatorCategory(CustomBaseModel):
name: str
weight: float
class EvaluatorConfig(CustomBaseModel):
type: EvaluatorType
categories: list[EvaluatorCategory] | None = None
rules: list[str] | None = None
metrics: list[str] | None = None
components: list[dict[str, Any]] | None = None
class PipelineStepConfig(CustomBaseModel):
name: str
type: str # "llm" or "rule"
model: str | None = None
prompt_key: str | None = None
config: dict[str, Any] | None = None
class PipelineConfig(CustomBaseModel):
text_split_size: int | None = None
steps: list[PipelineStepConfig] | None = None
class TaskConfig(CustomBaseModel):
name: str
dataset_path: str
input_fields: list[str]
golden_field: str | None = None
golden_fields: dict[str, str] | None = None
pipeline: PipelineType
pipeline_config: PipelineConfig | None = None
evaluator: EvaluatorConfig
class DatasetConfig(CustomBaseModel):
source: str = "huggingface"
repo: str
class ProjectConfig(CustomBaseModel):
name: str
display_name: str
description: str = ""
dataset: DatasetConfig
tasks: list[TaskConfig]
class ProjectCreate(CustomBaseModel):
name: str
display_name: str
description: str = ""
config: dict # Raw YAML-parsed config
class ProjectResponse(CustomBaseModel):
id: str
name: str
display_name: str
description: str
config: dict
created_at: str
class ProjectListResponse(CustomBaseModel):
id: str
name: str
display_name: str
description: str
task_count: int
created_at: str
|