Struct SuccessEvaluationPlan

Source
pub struct SuccessEvaluationPlan {
    pub rubric: Option<RubricTrue>,
    pub messages: Option<Vec<Value>>,
    pub enabled: Option<bool>,
    pub timeout_seconds: Option<f64>,
}

Fields§

§rubric: Option<RubricTrue>

This enforces the rubric of the evaluation. The output is stored in call.analysis.successEvaluation. Options include: - ‘NumericScale’: A scale of 1 to 10. - ‘DescriptiveScale’: A scale of Excellent, Good, Fair, Poor. - ‘Checklist’: A checklist of criteria and their status. - ‘Matrix’: A grid that evaluates multiple criteria across different performance levels. - ‘PercentageScale’: A scale of 0% to 100%. - ‘LikertScale’: A scale of Strongly Agree, Agree, Neutral, Disagree, Strongly Disagree. - ‘AutomaticRubric’: Automatically break down evaluation into several criteria, each with its own score. - ‘PassFail’: A simple ‘true’ if call passed, ‘false’ if not. Default is ‘PassFail’.

§messages: Option<Vec<Value>>

These are the messages used to generate the success evaluation. @default: [ { \"role\": \"system\", \"content\": \"You are an expert call evaluator. You will be given a transcript of a call and the system prompt of the AI participant. Determine if the call was successful based on the objectives inferred from the system prompt. DO NOT return anything except the result.\\n\\nRubric:\\\\n{{rubric}}\\n\\nOnly respond with the result.\" }, { \"role\": \"user\", \"content\": \"Here is the transcript:\\n\\n{{transcript}}\\n\\n\" }, { \"role\": \"user\", \"content\": \"Here was the system prompt of the call:\\n\\n{{systemPrompt}}\\n\\n. Here is the ended reason of the call:\\n\\n{{endedReason}}\\n\\n\" } ] You can customize by providing any messages you want. Here are the template variables available: - {{transcript}}: the transcript of the call from call.artifact.transcript- {{systemPrompt}}: the system prompt of the call from assistant.model.messages[type=system].content- {{rubric}}: the rubric of the success evaluation from successEvaluationPlan.rubric- {{endedReason}}: the ended reason of the call from call.endedReason

§enabled: Option<bool>

This determines whether a success evaluation is generated and stored in call.analysis.successEvaluation. Defaults to true. Usage: - If you want to disable the success evaluation, set this to false. @default true

§timeout_seconds: Option<f64>

This is how long the request is tried before giving up. When request times out, call.analysis.successEvaluation will be empty. Usage: - To guarantee the success evaluation is generated, set this value high. Note, this will delay the end of call report in cases where model is slow to respond. @default 5 seconds

Implementations§

Trait Implementations§

Source§

impl Clone for SuccessEvaluationPlan

Source§

fn clone(&self) -> SuccessEvaluationPlan

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SuccessEvaluationPlan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SuccessEvaluationPlan

Source§

fn default() -> SuccessEvaluationPlan

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SuccessEvaluationPlan

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SuccessEvaluationPlan

Source§

fn eq(&self, other: &SuccessEvaluationPlan) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for SuccessEvaluationPlan

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for SuccessEvaluationPlan

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,