floopy/types/
evaluations.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Debug, Clone, Deserialize)]
6pub struct EvaluationRun {
7 pub id: String,
9 pub dataset_id: String,
11 pub model: String,
13 pub prompt_id: Option<String>,
15 pub status: String,
17 pub config: Option<Value>,
19 pub created_at: String,
21 pub started_at: Option<String>,
23 pub finished_at: Option<String>,
25}
26
27#[derive(Debug, Clone, Deserialize)]
29pub struct EvaluationResultRow {
30 pub id: String,
32 pub run_id: String,
34 pub input_id: String,
36 pub output: String,
38 pub score: Option<f64>,
40 pub metadata: Option<Value>,
42 pub created_at: String,
44}
45
46#[derive(Debug, Clone, Deserialize)]
48pub struct EvaluationResultsPage {
49 pub items: Vec<EvaluationResultRow>,
51 pub next_cursor: Option<String>,
53 pub has_more: bool,
55}
56
57#[derive(Debug, Clone, Serialize)]
59pub struct EvaluationCreateParams {
60 pub dataset_id: String,
62 pub model: String,
64 #[serde(skip_serializing_if = "Option::is_none")]
66 pub prompt_id: Option<String>,
67 #[serde(skip_serializing_if = "Option::is_none")]
69 pub config: Option<Value>,
70}