pub struct AiExperiments {
pub prompts: BTreeMap<String, AiPromptVersions>,
pub ab_tests: BTreeMap<String, AiAbTest>,
pub evals: BTreeMap<String, AiEval>,
pub feedback: Option<AiFeedbackConfig>,
}Expand description
Prompt experimentation (DW-086 ai.experiments): prompt
versioning, A/B model comparison, regression evals, and feedback
ingestion. Absent (the default): no experiments surface.
Fields§
§prompts: BTreeMap<String, AiPromptVersions>Named prompt version sets (DW-086). Each entry declares one or more versions (each with a system message) and an active version. The active version can be overridden at runtime via the admin API (stored in the state store). Absent (the default): no prompt versioning.
ab_tests: BTreeMap<String, AiAbTest>Named A/B tests (DW-086). Each test declares two or more
variants (each naming a model alias, an optional prompt
version, and a weight). A model alias declares ab_test: <name> to be served by one; the test is evaluated per
request (a deterministic weighted pick by request id selects
a variant). Absent (the default): no A/B tests.
evals: BTreeMap<String, AiEval>Named regression evals (DW-086). Each eval declares a golden set of input/expected cases and an optional prompt version; the admin API runs it against a model alias (or an A/B test’s variants) and stores the results. Absent (the default): no evals.
feedback: Option<AiFeedbackConfig>Feedback ingestion config (DW-086). When enabled, the admin
API accepts feedback records (request id, label, comment)
and stores them in analytics. Absent (the default): feedback
is enabled (the default is enabled: true).
Trait Implementations§
Source§impl Clone for AiExperiments
impl Clone for AiExperiments
Source§fn clone(&self) -> AiExperiments
fn clone(&self) -> AiExperiments
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AiExperiments
impl Debug for AiExperiments
Source§impl Default for AiExperiments
impl Default for AiExperiments
Source§fn default() -> AiExperiments
fn default() -> AiExperiments
Source§impl<'de> Deserialize<'de> for AiExperiments
impl<'de> Deserialize<'de> for AiExperiments
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for AiExperiments
impl JsonSchema for AiExperiments
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for AiExperiments
impl PartialEq for AiExperiments
Source§impl Serialize for AiExperiments
impl Serialize for AiExperiments
impl StructuralPartialEq for AiExperiments
Auto Trait Implementations§
impl Freeze for AiExperiments
impl RefUnwindSafe for AiExperiments
impl Send for AiExperiments
impl Sync for AiExperiments
impl Unpin for AiExperiments
impl UnwindSafe for AiExperiments
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more