Struct StartSpeakingPlan

Source
pub struct StartSpeakingPlan {
    pub wait_seconds: Option<f64>,
    pub smart_endpointing_enabled: Option<SmartEndpointingEnabled>,
    pub custom_endpointing_rules: Option<Vec<StartSpeakingPlanCustomEndpointingRulesInner>>,
    pub transcription_endpointing_plan: Option<Box<TranscriptionEndpointingPlan>>,
}

Fields§

§wait_seconds: Option<f64>

This is how long assistant waits before speaking. Defaults to 0.4. This is the minimum it will wait but if there is latency is the pipeline, this minimum will be exceeded. This is intended as a stopgap in case the pipeline is moving too fast. Example: - If model generates tokens and voice generates bytes within 100ms, the pipeline still waits 300ms before outputting speech. Usage: - If the customer is taking long pauses, set this to a higher value. - If the assistant is accidentally jumping in too much, set this to a higher value. @default 0.4

§smart_endpointing_enabled: Option<SmartEndpointingEnabled>

This determines if a customer speech is considered done (endpointing) using a Vapi custom-trained model on customer’s speech. This is good for middle-of-thought detection. Alternatively, you can use LiveKit’s smart endpointing model (it only supports English, though) Once an endpoint is triggered, the request is sent to assistant.model. Usage: - If your conversations are long-form and you want assistant to wait smartly even if customer pauses for a bit to think, you can use this instead. This overrides transcriptionEndpointingPlan. @default false

§custom_endpointing_rules: Option<Vec<StartSpeakingPlanCustomEndpointingRulesInner>>

These are the custom endpointing rules to set an endpointing timeout based on a regex on the customer’s speech or the assistant’s last message. Usage: - If you have yes/no questions like "are you interested in a loan?", you can set a shorter timeout. - If you have questions where the customer may pause to look up information like "what’s my account number?", you can set a longer timeout. - If you want to wait longer while customer is enumerating a list of numbers, you can set a longer timeout. These override transcriptionEndpointingPlan and smartEndpointingEnabled when a rule is matched. The rules are evaluated in order and the first one that matches will be used. @default []

§transcription_endpointing_plan: Option<Box<TranscriptionEndpointingPlan>>

This determines how a customer speech is considered done (endpointing) using the transcription of customer’s speech. Once an endpoint is triggered, the request is sent to assistant.model.

Implementations§

Trait Implementations§

Source§

impl Clone for StartSpeakingPlan

Source§

fn clone(&self) -> StartSpeakingPlan

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for StartSpeakingPlan

Source§

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

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

impl Default for StartSpeakingPlan

Source§

fn default() -> StartSpeakingPlan

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

impl<'de> Deserialize<'de> for StartSpeakingPlan

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 StartSpeakingPlan

Source§

fn eq(&self, other: &StartSpeakingPlan) -> 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 StartSpeakingPlan

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 StartSpeakingPlan

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> 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,

Source§

impl<T> MaybeSendSync for T