Ethan Tan
11/11/2024, 5:05 PMOptional
This is the plan for when the assistant should start talking.
You should configure this if you’re running into these issues:
The assistant is too slow to start talking after the customer is done speaking.
The assistant is too fast to start talking after the customer is done speaking.
The assistant is so fast that it’s actually interrupting the customer.
Hide 3 properties
waitSeconds
double
Optional
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 really 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
smartEndpointingEnabled
boolean
Optional
Defaults to false
This determines if a customer speech is considered done (endpointing) using the VAP model on customer’s speech. This is good for middle-of-thought detection.
Once an endpoint is triggered, the request is sent to assistant.model.
Default false since experimental.
@default false
transcriptionEndpointingPlan
object
Optional
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.
Vapi
11/11/2024, 5:08 PMstartSpeakingPlan
options, waitSeconds
, smartEndpointingEnabled
, and transcriptionEndpointingPlan
work together to determine when the assistant should start speaking. If you enable smartEndpointingEnabled
by setting it to true
but do not explicitly set waitSeconds
or transcriptionEndpointingPlan
, they will still be active at their default values. The default for waitSeconds
is 0.4 seconds, and smartEndpointingEnabled
is false by default, which means if you set it to true, you are overriding the default behavior. The transcriptionEndpointingPlan
has its own defaults if not set.
2. As per the information provided, responseDelaySeconds
is not mentioned as deprecated. It is a separate configuration that specifies the minimum number of seconds to wait after user speech before the assistant starts speaking, with a default value of 0.4 seconds. If there have been updates to the API that deprecate this option, it would be best to refer to the latest documentation or release notes for confirmation. If you need further assistance on this matter, please ask support for more info on this.Vapi
11/11/2024, 5:08 PMShubham Bajaj
11/11/2024, 6:16 PMwaitSeconds
, smartEndpointingEnabled
, and `transcriptionEndpointingPlan`:
- waitSeconds
provides a basic delay before the assistant starts talking, acting as a minimum wait time.
- smartEndpointingEnabled
takes priority if enabled. When smartEndpointingEnabled
is true
, it overrides transcriptionEndpointingPlan
entirely, meaning the assistant uses a smart model for timing and ignores other endpointing settings.
- transcriptionEndpointingPlan
only applies when smartEndpointingEnabled
is false
. It adjusts timing based on transcription patterns like punctuation or numbers.
2. If you set smartEndpointingEnabled = true
but don’t set the other two:
- Yes, waitSeconds
and transcriptionEndpointingPlan
are ignored entirely when smartEndpointingEnabled
is true
.
3. Is responseDelaySeconds
deprecated?
- Yes, responseDelaySeconds
is essentially replaced by waitSeconds
in the startSpeakingPlan
configuration. Use waitSeconds
instead for setting the initial delay before the assistant speaks.Ethan Tan
11/12/2024, 5:03 PM