objectiveai_sdk/laboratories/executions/request/
body.rs1use crate::agent;
2use serde::{Deserialize, Serialize};
3use schemars::JsonSchema;
4
5#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
7#[schemars(rename = "laboratories.executions.request.LaboratoryExecutionCreateParams")]
8pub struct LaboratoryExecutionCreateParams {
9 pub docker_image: String,
11 pub builder_agents: Vec<agent::InlineAgentBaseWithFallbacksOrRemoteCommitOptional>,
13 #[serde(skip_serializing_if = "Option::is_none")]
16 #[schemars(extend("omitempty" = true))]
17 pub evaluation_agent: Option<agent::InlineAgentBaseWithFallbacksOrRemoteCommitOptional>,
18
19 pub builder_messages: Vec<agent::completions::message::Message>,
21 #[serde(skip_serializing_if = "Option::is_none")]
23 #[schemars(extend("omitempty" = true))]
24 pub evaluation_messages: Option<Vec<agent::completions::message::Message>>,
25
26 #[serde(skip_serializing_if = "Option::is_none")]
28 #[schemars(extend("omitempty" = true))]
29 pub evaluation_output_schema: Option<crate::functions::expression::InputSchema>,
30
31 #[serde(skip_serializing_if = "Option::is_none")]
33 #[schemars(extend("omitempty" = true))]
34 pub builder_continuation: Option<String>,
35 #[serde(skip_serializing_if = "Option::is_none")]
37 #[schemars(extend("omitempty" = true))]
38 pub evaluation_continuation: Option<String>,
39
40 #[serde(skip_serializing_if = "Option::is_none")]
43 #[schemars(extend("omitempty" = true))]
44 pub max_evaluation_retries: Option<u32>,
45
46 #[serde(skip_serializing_if = "Option::is_none")]
48 #[schemars(extend("omitempty" = true))]
49 pub persist: Option<bool>,
50
51 #[serde(skip_serializing_if = "Option::is_none")]
52 #[schemars(extend("omitempty" = true))]
53 pub provider: Option<agent::completions::request::Provider>,
54 #[serde(skip_serializing_if = "Option::is_none")]
55 #[schemars(extend("omitempty" = true))]
56 pub seed: Option<i64>,
57 #[serde(skip_serializing_if = "Option::is_none")]
58 #[schemars(extend("omitempty" = true))]
59 pub stream: Option<bool>,
60}